Publish Smoke #232
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: Publish Smoke | |
| # Observational smoke must live in a separate workflow. A reusable-workflow call | |
| # job cannot be marked continue-on-error, so keeping smoke inside publish.yml | |
| # turns flaky desktop assertions into a red publish pipeline. | |
| on: | |
| workflow_run: | |
| workflows: ["Publish Bluefin dakota"] | |
| types: [completed] | |
| branches: | |
| - main | |
| - 'gh-readonly-queue/main/**' | |
| - next | |
| - 'gh-readonly-queue/next/**' | |
| - testing | |
| - 'gh-readonly-queue/testing/**' | |
| permissions: | |
| contents: read | |
| packages: write | |
| jobs: | |
| wait-for-images: | |
| if: github.event.workflow_run.conclusion == 'success' | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| packages: read | |
| steps: | |
| - name: Wait for immutable image tags | |
| env: | |
| GH_ACTOR: ${{ github.actor }} | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| BUILD_SHA: ${{ github.event.workflow_run.head_sha }} | |
| run: | | |
| set -euo pipefail | |
| for image in dakota dakota-nvidia; do | |
| for attempt in $(seq 1 12); do | |
| if skopeo inspect --no-tags \ | |
| --creds "$GH_ACTOR:$GH_TOKEN" \ | |
| "docker://ghcr.io/${GITHUB_REPOSITORY_OWNER}/${image}:${BUILD_SHA}" \ | |
| > /dev/null 2>&1; then | |
| echo "Verified ${image}:${BUILD_SHA} is readable (attempt ${attempt})" | |
| break | |
| fi | |
| if [ "$attempt" -eq 12 ]; then | |
| echo "ERROR: ${image}:${BUILD_SHA} is unavailable after publish" | |
| exit 1 | |
| fi | |
| echo "Waiting for ${image}:${BUILD_SHA} (attempt ${attempt}/12)..." | |
| sleep 10 | |
| done | |
| done | |
| smoke: | |
| needs: wait-for-images | |
| if: github.event.workflow_run.conclusion == 'success' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - image: dakota | |
| - image: dakota-nvidia | |
| uses: ./.github/workflows/run-testsuite.yml | |
| with: | |
| image: ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}:${{ github.event.workflow_run.head_sha }} | |
| suites: smoke | |
| secrets: inherit |