Make CI Keep up to date a one time action #10006
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 file is not auto-generated. Feel free to edit it. | |
| name: ✨ WASM | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-wasm-pull-request | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/develop' }} | |
| jobs: | |
| wasm-changed-files: | |
| name: 🔍 Files Changed | |
| uses: ./.github/workflows/wasm-changed-files.yml | |
| secrets: inherit | |
| wasm-checks: | |
| name: 🦀 Checks | |
| uses: ./.github/workflows/wasm-checks.yml | |
| needs: [wasm-changed-files] | |
| if: needs.wasm-changed-files.outputs.any_changed == 'true' || github.ref == 'refs/heads/develop' | |
| secrets: inherit | |
| wasm-parser-test: | |
| name: 🧪 Parser WASM Test | |
| uses: ./.github/workflows/wasm-test.yml | |
| needs: [wasm-changed-files] | |
| if: needs.wasm-changed-files.outputs.any_changed == 'true' || github.ref == 'refs/heads/develop' | |
| secrets: inherit | |
| required-checks: | |
| name: WASM Required Checks | |
| runs-on: ubuntu-latest | |
| needs: [wasm-changed-files, wasm-checks, wasm-parser-test] | |
| if: always() | |
| steps: | |
| - name: Checks Summary | |
| run: | | |
| echo "WASM Checks: ${{ needs.wasm-checks.result }}" | |
| echo "Parser WASM Test: ${{ needs.wasm-parser-test.result }}" | |
| any_changed='${{ needs.wasm-changed-files.outputs.any_changed }}' | |
| # Fail fast on any failures. | |
| case '${{ needs.wasm-checks.result }}' in 'failure') exit 1 ;; esac | |
| case '${{ needs.wasm-parser-test.result }}' in 'failure') exit 1 ;; esac | |
| # If relevant files changed, then skipped/cancelled jobs should fail the summary. | |
| if [[ "$any_changed" == 'true' ]]; then | |
| if [[ '${{ needs.wasm-checks.result }}' == 'skipped' || '${{ needs.wasm-checks.result }}' == 'cancelled' ]]; then | |
| exit 1 | |
| fi | |
| if [[ '${{ needs.wasm-parser-test.result }}' == 'skipped' || '${{ needs.wasm-parser-test.result }}' == 'cancelled' ]]; then | |
| exit 1 | |
| fi | |
| fi | |
| echo "Success!" |