|
14 | 14 | pull_request: |
15 | 15 | branches: [main] |
16 | 16 | workflow_dispatch: |
| 17 | + inputs: |
| 18 | + extra_tag: |
| 19 | + description: | |
| 20 | + Additional Docker tag to publish from this ref (e.g. |
| 21 | + "rollback-2026-05-26"). Use to mint immutable rollback tags |
| 22 | + from a known-good commit. Leave blank for normal runs. |
| 23 | + required: false |
| 24 | + type: string |
| 25 | + default: "" |
17 | 26 |
|
18 | 27 | env: |
19 | 28 | IMAGE_NAME: functionland/blox-ai |
|
51 | 60 | type=ref,event=branch |
52 | 61 | type=ref,event=pr |
53 | 62 | type=semver,pattern={{version}} |
54 | | - type=raw,value=test,enable=${{ github.ref == 'refs/heads/main' }} |
| 63 | + # :release tracks main as the production-default tag. |
| 64 | + # Compose default in the fula-ota plugin is |
| 65 | + # ${BLOX_AI_IMAGE_TAG:-release}, so without this devices on a |
| 66 | + # fresh install would hit a Docker Hub 404. Safety preconditions |
| 67 | + # (documented in plan-B-production-consolidation.md): |
| 68 | + # - main is branch-protected (PR + review + green CI required) |
| 69 | + # - immutable rollback-YYYYMMDD tag exists as fallback, |
| 70 | + # minted via workflow_dispatch + extra_tag input |
| 71 | + # - canary devices pin to an immutable sha256 digest (not |
| 72 | + # a moving tag) during the D4 observation window |
| 73 | + # Replace with semver-promote step when versioning lands. |
| 74 | + # (The previous :test raw-tag alias is dropped — :release is |
| 75 | + # now the single production tag and canaries pin by digest.) |
| 76 | + type=raw,value=release,enable=${{ github.ref == 'refs/heads/main' }} |
| 77 | + # workflow_dispatch extra tag — used to mint immutable rollback |
| 78 | + # tags from a chosen commit (publish-then-smoke per plan D0.3). |
| 79 | + type=raw,value=${{ github.event.inputs.extra_tag }},enable=${{ github.event_name == 'workflow_dispatch' && github.event.inputs.extra_tag != '' }} |
55 | 80 |
|
56 | 81 | - name: Build and push multi-platform Docker image |
57 | 82 | uses: docker/build-push-action@v5 |
|
0 commit comments