|
@@ -67,8 +67,8 @@ integration service run by GitHub Action to test whether the patch is good or no
|
|
section [With GitHub Action](#with-github-action) see more detail.
|
|
section [With GitHub Action](#with-github-action) see more detail.
|
|
|
|
|
|
And to make more convenience to local tests, we also have the way to run your [test automated with tox](#automated-testing-with-tox)
|
|
And to make more convenience to local tests, we also have the way to run your [test automated with tox](#automated-testing-with-tox)
|
|
-locally. It is helpful when your try to find out the detail when continuous integration in GitHub Action failed,
|
|
+locally(*run all tests except integrate test with need docker environment*). It is helpful when your try to find out the
|
|
-or you have a great patch and want to test local first.
|
|
+detail when continuous integration in GitHub Action failed, or you have a great patch and want to test local first.
|
|
|
|
|
|
Besides [automated testing with tox](#automated-testing-with-tox) locally, we also have a [manual way](#manually)
|
|
Besides [automated testing with tox](#automated-testing-with-tox) locally, we also have a [manual way](#manually)
|
|
run tests. And it is scattered commands to reproduce each step of the integration test we told about.
|
|
run tests. And it is scattered commands to reproduce each step of the integration test we told about.
|
|
@@ -76,14 +76,14 @@ run tests. And it is scattered commands to reproduce each step of the integratio
|
|
* Remote
|
|
* Remote
|
|
* [With GitHub Action](#with-github-action)
|
|
* [With GitHub Action](#with-github-action)
|
|
* Local
|
|
* Local
|
|
- * [Automated Testing With tox](#automated-testing-with-tox)
|
|
+ * [Automated Testing With tox](#automated-testing-with-tox)(including all but integrate test)
|
|
- * [Manually](#manually)
|
|
+ * [Manually](#manually)(with integrate test)
|
|
|
|
|
|
### With GitHub Action
|
|
### With GitHub Action
|
|
|
|
|
|
GitHub Action test in various environment for pydolphinscheduler, including different python version in
|
|
GitHub Action test in various environment for pydolphinscheduler, including different python version in
|
|
`3.6|3.7|3.8|3.9` and operating system `linux|macOS|windows`. It will trigger and run automatically when you
|
|
`3.6|3.7|3.8|3.9` and operating system `linux|macOS|windows`. It will trigger and run automatically when you
|
|
-submit pull requests to `apache/dolphinscheduler`.
|
|
+submit pull requests to `apache/dolphinscheduler`.
|
|
|
|
|
|
### Automated Testing With tox
|
|
### Automated Testing With tox
|
|
|
|
|
|
@@ -165,6 +165,28 @@ It would not only run unit test but also show each file coverage which cover rat
|
|
line show you total coverage of you code. If your CI failed with coverage you could go and find some reason by
|
|
line show you total coverage of you code. If your CI failed with coverage you could go and find some reason by
|
|
this command output.
|
|
this command output.
|
|
|
|
|
|
|
|
+#### Integrate Test
|
|
|
|
+
|
|
|
|
+Integrate Test can not run when you execute command `tox -e local-ci` because it needs external environment
|
|
|
|
+including [Docker](https://docs.docker.com/get-docker/) and specific image build by [maven](https://maven.apache.org/install.html).
|
|
|
|
+Here we would show you the step to run integrate test in directory `dolphinscheduler-python/pydolphinscheduler/tests/integration`.
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+# Go to project root directory and build Docker image
|
|
|
|
+cd ../../
|
|
|
|
+
|
|
|
|
+# Build Docker image
|
|
|
|
+./mvnw -B clean install \
|
|
|
|
+ -Dmaven.test.skip \
|
|
|
|
+ -Dmaven.javadoc.skip \
|
|
|
|
+ -Dmaven.checkstyle.skip \
|
|
|
|
+ -Pdocker,release -Ddocker.tag=ci \
|
|
|
|
+ -pl dolphinscheduler-standalone-server -am
|
|
|
|
+
|
|
|
|
+# Go to pydolphinscheduler root directory and run integrate tests
|
|
|
|
+tox -e integrate-test
|
|
|
|
+```
|
|
|
|
+
|
|
## Add LICENSE When New Dependencies Adding
|
|
## Add LICENSE When New Dependencies Adding
|
|
|
|
|
|
When you add a new package in pydolphinscheduler, you should also add the package's LICENSE to directory
|
|
When you add a new package in pydolphinscheduler, you should also add the package's LICENSE to directory
|