Repository navigation
Reverts commit 3b47945b3ceb0c3c25c1951a7afd3b2424fde3d5 (PR #18626). #32140
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow will build a Java project with Maven | |
| # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | |
| name: Unit-Test | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - "rel/*" | |
| - "rc/*" | |
| paths-ignore: | |
| - "docs/**" | |
| - "site/**" | |
| - "iotdb-client/client-cpp/**" | |
| - ".github/workflows/client-cpp-package.yml" | |
| - ".github/scripts/package-client-cpp-*.sh" | |
| - ".github/workflows/multi-language-client.yml" | |
| pull_request: | |
| branches: | |
| - master | |
| - "rel/*" | |
| - "rc/*" | |
| - "force_ci/**" | |
| paths-ignore: | |
| - "docs/**" | |
| - "site/**" | |
| - "iotdb-client/client-cpp/**" | |
| - ".github/workflows/client-cpp-package.yml" | |
| - ".github/scripts/package-client-cpp-*.sh" | |
| - ".github/workflows/multi-language-client.yml" | |
| # allow manually run the action: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| MAVEN_OPTS: -Xms2g -Xmx4g -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 | |
| MAVEN_ARGS: --batch-mode --no-transfer-progress | |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} | |
| jobs: | |
| unit-test: | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 15 | |
| matrix: | |
| java: [17] | |
| os: [ubuntu-latest, windows-latest] | |
| it_task: ["others", "datanode"] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up JDK ${{ matrix.java }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: corretto | |
| java-version: ${{ matrix.java }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Cache Maven packages | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2- | |
| - name: Test Datanode Module with Maven | |
| shell: bash | |
| if: ${{ matrix.it_task == 'datanode'}} | |
| # forkCount=4 runs up to 4 surefire JVMs in parallel. reuseForks=false | |
| # is left on (set in iotdb-core/datanode/pom.xml) so each test class | |
| # still gets a fresh JVM — only cross-fork parallelism changes. | |
| # The pom already wires <workingDirectory>...fork_${surefire.forkNumber} | |
| # for filesystem isolation; datanode UTs do no socket binding (grep'd: | |
| # zero ServerSocket / bind() / TServer.serve() calls in tests), so | |
| # cross-fork resource conflicts are not a concern. | |
| run: mvn clean integration-test -Dtest.port.closed=true -pl iotdb-core/datanode -am -DskipTests -Diotdb.test.only=true -DforkCount=4 | |
| - name: Test Other Modules with Maven | |
| shell: bash | |
| if: ${{ matrix.it_task == 'others'}} | |
| run: | | |
| mvn clean install -DskipTests | |
| mvn -P get-jar-with-dependencies,with-integration-tests clean test -Dtest.port.closed=true -Diotdb.test.skip=true |