Skip to content

Commit

Permalink
Separate contribution docs to a new menu structure. (#11033)
Browse files Browse the repository at this point in the history
  • Loading branch information
wu-sheng committed Jul 2, 2023
1 parent ab8b1f7 commit 1f3443e
Show file tree
Hide file tree
Showing 12 changed files with 124 additions and 232 deletions.
3 changes: 3 additions & 0 deletions docs/en/changes/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,8 @@

* Add Go agent into the server agent documentation.
* Add data unit description in the configuration of continuous profiling policy.
* Remove `storage extension` doc, as it is expired.
* Remove `how to add menu` doc, as SkyWalking supports marketplace and new backend-based setup.
* Separate contribution docs to a new menu structure.

All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/181?closed=1)
46 changes: 0 additions & 46 deletions docs/en/guides/How-to-add-menu.md

This file was deleted.

20 changes: 20 additions & 0 deletions docs/en/guides/IT-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Integration Tests
IT(Integration Tests) represents the JUnit driven integration test to verify the features and compatibility between lib
and known server with various versions.

After setting up the environment and writing your codes, to facilitate integration with the SkyWalking project, you'll
need to run tests locally to verify that your codes would not break any existing features,
as well as write some unit test (UT) codes to verify that the new codes would work well. This will prevent them from being broken by future contributors.
If the new codes involve other components or libraries, you should also write integration tests (IT).

SkyWalking leverages the plugin `maven-surefire-plugin` to run the UTs and uses `maven-failsafe-plugin`
to run the ITs. `maven-surefire-plugin` excludes ITs (whose class name starts or ends with `*IT`, `IT*`)
and leaves them for `maven-failsafe-plugin` to run, which is bound to the `integration-test` goal.
Therefore, to run the UTs, try `./mvnw clean test`, which only runs the UTs but not the ITs.

If you would like to run the ITs, please run `./mvnw integration-test` as well as the profiles of the modules whose ITs you want to run.
If you don't want to run UTs, please add `-DskipUTs=true`.
E.g. if you would like to only run the ITs in `oap-server`, try `./mvnw -Pbackend clean verify -DskipUTs=true`,
and if you would like to run all the ITs, simply run `./mvnw clean integration-test -DskipUTs=true`.

Please be advised that if you're writing integration tests, name it with the pattern `IT*` or `*IT` so they would only run in goal `integration-test`.
132 changes: 0 additions & 132 deletions docs/en/guides/README.md

This file was deleted.

13 changes: 13 additions & 0 deletions docs/en/guides/benchmark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Java Microbenchmark Harness (JMH)
JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM.

We have a module called `microbench` which performs a series of micro-benchmark tests for JMH testing.
Make new JMH tests extend the `org.apache.skywalking.oap.server.microbench.base.AbstractMicrobenchmark`
to customize runtime conditions (Measurement, Fork, Warmup, etc.).

JMH tests could run as a normal unit test. And they could run as an independent uber jar via `java -jar benchmark.jar` for all benchmarks,
or via `java -jar /benchmarks.jar exampleClassName` for a specific test.

Output test results in JSON format, you can add `-rf json` like `java -jar benchmarks.jar -rf json`, if you run through the IDE, you can configure the `-DperfReportDir=savePath` parameter to set the JMH report result save path, a report results in JSON format will be generated when the run ends.

More information about JMH can be found here: [jmh docs](https://openjdk.java.net/projects/code-tools/jmh/).
8 changes: 8 additions & 0 deletions docs/en/guides/community.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Guides
There are many ways you can connect and contribute to the SkyWalking community.

* Submit an [issue](https://github.com/apache/skywalking/issues) for an addressed issue or feature implementation plan.
* Submit a [discussion](https://github.com/apache/skywalking/issues) to ask questions, feature proposal and uncertain bug discussion.
* Mail list: **dev@skywalking.apache.org**. Mail to `dev-subscribe@skywalking.apache.org`. Follow the instructions in the reply to subscribe to the mail list.
* Send `Request to join SkyWalking slack` mail to the mail list(`dev@skywalking.apache.org`), we will invite you in.
* For Chinese speaker, send `[CN] Request to join SkyWalking slack` mail to the mail list(`dev@skywalking.apache.org`), we will invite you in.
12 changes: 12 additions & 0 deletions docs/en/guides/dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# OAP backend dependency management
> This section is only applicable to dependencies of the OAP server and UI.
As one of the Top Level Projects of The Apache Software Foundation (ASF), SkyWalking must follow the [ASF 3RD PARTY LICENSE POLICY](https://apache.org/legal/resolved.html). So if you're adding new dependencies to the project, you should make sure that the new dependencies would not break the policy, and add their LICENSE and NOTICE to the project.

We use [license-eye](https://github.com/apache/skywalking-eyes) to help you make sure that you haven't missed out any new dependencies:
- Install `license-eye` according to [the doc](https://github.com/apache/skywalking-eyes#usage).
- Run `license-eye dependency resolve --summary ./dist-material/release-docs/LICENSE.tpl` in the root directory of this project.
- Check the modified lines in `./dist-material/release-docs/LICENSE` (via command `git diff -U0 ./dist-material/release-docs/LICENSE`) and
check whether the new dependencies' licenses are compatible with Apache 2.0.
- Add the new dependencies' notice files (if any) to `./dist-material/release-docs/NOTICE` if they are Apache 2.0 license. Copy their license files to `./dist-material/release-docs/licenses` if they are not standard Apache 2.0 license.
- Copy the new dependencies' license file to `./dist-material/release-docs/licenses` if they are not standard Apache 2.0 license.
Loading

0 comments on commit 1f3443e

Please sign in to comment.