CI #1645
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
| name: CI | |
| on: | |
| schedule: | |
| - cron: '0 8 */10 * *' | |
| push: | |
| branches: | |
| - 'master' | |
| tags: | |
| - '*' | |
| merge_group: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| event_file: | |
| name: "Event File" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Event File | |
| path: ${{ github.event_path }} | |
| build-jvm: | |
| name: "Build JVM" | |
| uses: "./.github/workflows/build-jvm.yml" | |
| build-snapshots: | |
| name: "Build Snapshots" | |
| uses: "./.github/workflows/build-snapshots.yml" | |
| build-python: | |
| name: "Build Python" | |
| needs: build-jvm | |
| uses: "./.github/workflows/build-python.yml" | |
| test-jvm: | |
| name: "Test JVM" | |
| needs: build-jvm | |
| uses: "./.github/workflows/test-jvm.yml" | |
| test-python: | |
| name: "Test Python" | |
| needs: build-jvm | |
| uses: "./.github/workflows/test-python.yml" | |
| test-snapshots-jvm: | |
| name: "Test Snapshots" | |
| needs: build-snapshots | |
| uses: "./.github/workflows/test-snapshots.yml" | |
| test-release: | |
| name: "Test Release" | |
| needs: build-jvm | |
| uses: "./.github/workflows/test-release.yml" | |
| check: | |
| name: "Check" | |
| needs: build-jvm | |
| uses: "./.github/workflows/check.yml" | |
| # A single job that succeeds if all jobs listed under 'needs' succeed. | |
| # This allows to configure a single job as a required check. | |
| # The 'needed' jobs then can be changed through pull-requests. | |
| test_success: | |
| name: "Test success" | |
| if: always() | |
| runs-on: ubuntu-latest | |
| # the if clauses below have to reflect the number of jobs listed here | |
| needs: [build-jvm, build-python, test-jvm, test-python, test-release] | |
| env: | |
| RESULTS: ${{ join(needs.*.result, ',') }} | |
| steps: | |
| - name: "Success" | |
| # we expect all required jobs to have success result | |
| if: env.RESULTS == 'success,success,success,success,success' | |
| run: true | |
| shell: bash | |
| - name: "Failure" | |
| # we expect all required jobs to have success result, fail otherwise | |
| if: env.RESULTS != 'success,success,success,success,success' | |
| run: false | |
| shell: bash |