| name: 'Wait for Engine Build' | |
| description: 'Wait for an engine build and redirect engine.version if engine files changed' | |
| inputs: | |
| github-token: | |
| description: 'GitHub token' | |
| required: true | |
| check-name: | |
| description: 'The name of the check to wait on' | |
| required: false | |
| default: 'Linux linux_host_engine' | |
| check-regexp: | |
| description: 'Filter checks using regex pattern' | |
| required: false | |
| default: '' | |
| runs: | |
| using: "composite" | |
| steps: | |
| - name: Check Engine Changes | |
| id: check_engine | |
| uses: ./.github/actions/has-engine-changes | |
| - name: Skip LUCI wait on forks | |
| if: steps.check_engine.outputs.changed == 'true' && github.repository != 'flutter/flutter' && env.ACT != 'true' | |
| shell: bash | |
| env: | |
| REPO_NAME: ${{ github.repository }} | |
| run: | | |
| echo "Skipping LUCI engine build wait on fork repository '$REPO_NAME' (flutter_archives_v2 is only built on flutter/flutter)." | |
| echo "FLUTTER_STRICT_ENGINE_VERSION=false" >> $GITHUB_ENV # zizmor: ignore[github-env] | |
| - name: Log wait requirement | |
| if: steps.check_engine.outputs.changed == 'true' && github.repository == 'flutter/flutter' | |
| shell: bash | |
| env: | |
| INPUTS_CHECK_NAME: ${{ inputs.check-name }} | |
| INPUTS_CHECK_REGEXP: ${{ inputs.check-regexp }} | |
| run: | | |
| echo "Engine file changed - forced to wait for check-name: '${INPUTS_CHECK_NAME}', check-regexp: '${INPUTS_CHECK_REGEXP}'" | |
| # Note: Use the Cocoon wait-for-tests action to poll the Cocoon API. | |
| - name: Wait for test check-in | |
| if: steps.check_engine.outputs.changed == 'true' && github.repository == 'flutter/flutter' && env.ACT != 'true' | |
| uses: flutter/cocoon/packages/wait_for_tests@c82f779e201b2d22f43b531268cfbd2ce4fbd4ab | |
| with: | |
| sha: ${{ github.event.pull_request.head.sha || github.sha }} | |
| repo: ${{ github.repository }} | |
| required-tests: ${{ inputs.check-name }} | |
| - name: Redirect engine.version - Realm | |
| if: steps.check_engine.outputs.changed == 'true' && github.repository == 'flutter/flutter' && github.event_name == 'pull_request' | |
| shell: bash | |
| run: echo "FLUTTER_REALM=flutter_archives_v2" >> $GITHUB_ENV # zizmor: ignore[github-env] | |
| - name: Redirect engine.version - Prebuilt Engine Version | |
| if: steps.check_engine.outputs.changed == 'true' && github.repository == 'flutter/flutter' && github.event_name == 'pull_request' | |
| shell: bash | |
| run: echo "FLUTTER_PREBUILT_ENGINE_VERSION=$HEAD_SHA" >> $GITHUB_ENV # zizmor: ignore[github-env] | |
| env: | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha }} |