Skip to content

Commit a02ef34

Browse files
authored
Merge pull request #1 from functionland/add-release-tag-and-rollback-input
publish workflow: add :release auto-tag + workflow_dispatch rollback input
2 parents 0f43313 + 422cce3 commit a02ef34

1 file changed

Lines changed: 26 additions & 1 deletion

File tree

.github/workflows/docker-build-publish.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ on:
1414
pull_request:
1515
branches: [main]
1616
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: ""
1726

1827
env:
1928
IMAGE_NAME: functionland/blox-ai
@@ -51,7 +60,23 @@ jobs:
5160
type=ref,event=branch
5261
type=ref,event=pr
5362
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 != '' }}
5580
5681
- name: Build and push multi-platform Docker image
5782
uses: docker/build-push-action@v5

0 commit comments

Comments
 (0)