| name: Edge IT |
| |
| 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/*" |
| 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" |
| workflow_dispatch: |
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.ref }} |
| cancel-in-progress: true |
| |
| env: |
| MAVEN_OPTS: -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: |
| Ubuntu: |
| runs-on: ubuntu-latest |
| |
| steps: |
| - uses: actions/checkout@v5 |
| - name: Test Edge ops scripts |
| run: python3 .github/scripts/test-edge-ops.py |
| - name: Set up JDK |
| uses: actions/setup-java@v5 |
| with: |
| distribution: corretto |
| java-version: 17 |
| 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: Build Edge distribution |
| shell: bash |
| run: | |
| mvn clean package \ |
| -DskipTests \ |
| -pl distribution \ |
| -am |
| - name: Edge IT |
| shell: bash |
| run: | |
| mvn verify \ |
| -P with-integration-tests,EdgeIT \ |
| -DskipUTs \ |
| -Dit.test=IoTDBEdgeBasicIT \ |
| -DEdgeConfigNodeAddress=127.0.0.2 \ |
| -DfailIfNoTests=false \ |
| -Dfailsafe.failIfNoSpecifiedTests=false \ |
| -pl integration-test \ |
| -am |
| - name: Upload Artifact |
| if: failure() |
| uses: actions/upload-artifact@v6 |
| with: |
| name: edge-log-Linux |
| path: | |
| integration-test/target/edge-it/**/*.log |
| integration-test/target/failsafe-reports |
| if-no-files-found: ignore |
| retention-days: 1 |
| |
| WindowsScripts: |
| runs-on: windows-latest |
| steps: |
| - uses: actions/checkout@v5 |
| - name: Test Edge ops scripts |
| run: python .github/scripts/test-edge-ops.py |
| - name: Test Edge Windows launchers |
| shell: powershell |
| run: .github/scripts/test-edge-windows.ps1 |