From 111f9416e3a58771ac090def5392902ed9d73a1a Mon Sep 17 00:00:00 2001 From: Michael Heller <21163552+mdheller@users.noreply.github.com> Date: Mon, 3 Aug 2026 23:52:53 -0400 Subject: [PATCH] nightly-{dmg,linux}: accept workflow_dispatch inputs.version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause behind 4 consecutive releases shipping with Info.plist stuck at 150.0.1: nightly workflows hardcoded VERSION=150.0.1 with no input override. Release cuts have been renaming nightly artifacts externally; the plist never matched the release tag. promotion-gate.yml (added in #142) now catches this on release publish — but the fix is to build with the correct version in the first place. Preserves: schedule + push triggers keep nightly semantics (dev version). Changes: manual workflow_dispatch can pass 'version: 150.0.6' to bake that into Info.plist + artifact filenames, so a release cut goes: 1. gh workflow run nightly-{dmg,linux}.yml -f version=150.0.6 2. wait for green 3. gh release create v150.0.6 4. promotion-gate.yml verifies plist == tag and lets latest.json publish --- .github/workflows/nightly-dmg.yml | 12 +++++++++++- .github/workflows/nightly-linux.yml | 11 ++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly-dmg.yml b/.github/workflows/nightly-dmg.yml index c90cc7d..bd93876 100644 --- a/.github/workflows/nightly-dmg.yml +++ b/.github/workflows/nightly-dmg.yml @@ -4,6 +4,12 @@ on: schedule: - cron: '0 4 * * *' workflow_dispatch: + inputs: + version: + description: 'Version to bake into Info.plist and artifact names (defaults to nightly 150.0.1)' + required: false + default: '150.0.1' + type: string push: branches: [main] paths: @@ -24,7 +30,11 @@ jobs: env: MOZBUILD_STATE_PATH: ${{ github.workspace }}/.mozbuild - VERSION: 150.0.1 + # A workflow_dispatch input overrides the nightly default; every other + # trigger (schedule, push) still ships a dev-versioned artifact. This + # closes the "release artifacts carry nightly version 150.0.1" root + # cause behind the plist-version-equals-tag gate rejection. + VERSION: ${{ inputs.version || '150.0.1' }} RELEASE: 1 PROFILE: human-secure diff --git a/.github/workflows/nightly-linux.yml b/.github/workflows/nightly-linux.yml index 0cb62dd..95af0fc 100644 --- a/.github/workflows/nightly-linux.yml +++ b/.github/workflows/nightly-linux.yml @@ -4,6 +4,12 @@ on: schedule: - cron: '0 5 * * *' workflow_dispatch: + inputs: + version: + description: 'Version to bake into artifact names + Info metadata (defaults to nightly 150.0.1)' + required: false + default: '150.0.1' + type: string push: # anti-fingerprint-verify added so the compile can be triggered on this branch # (workflow_dispatch only works from the default branch, which is behind). @@ -69,7 +75,10 @@ jobs: env: MOZBUILD_STATE_PATH: ${{ github.workspace }}/.mozbuild - VERSION: 150.0.1 + # workflow_dispatch input overrides for release cuts; other triggers get + # the nightly default. Root cause of the "release ships nightly version" + # bug that promotion-gate now catches. + VERSION: ${{ inputs.version || '150.0.1' }} RELEASE: 1 PROFILE: human-secure