Skip to content

Comments

release: changes to prepare/changelog/finalize#27551

Open
gulducat wants to merge 1 commit intomainfrom
ci-release-workflow-changes
Open

release: changes to prepare/changelog/finalize#27551
gulducat wants to merge 1 commit intomainfrom
ci-release-workflow-changes

Conversation

@gulducat
Copy link
Member

@gulducat gulducat commented Feb 19, 2026

Assorted changes to new release workflows and scripts, initially set up in #27339.

Some of the diffs are kinda gnarly, but the scripts are not very long if you wanna just read em from the top.

Changes:

Big ticket items:

  • enable finalize script to push (squashed) changes to main branch
  • move "LAST_RELEASE" value to scripts/release/previous.version
    • a follow-up will remove LAST_RELEASE from GNUmakefile
  • stop changing the slack channel; just use what's in .release/ci.hcl

Minutia:

  • main-branch input allows for testing "finalize" to non-main branch
  • move git commit and git push out of scripts
    • the workflow does this at the end instead, to make a single commit with generated files and changelog
    • ALLOW_DIRTY_WORKTREE env skips that check, while still protecting human users from messing up their local git
  • new branch prefix is detected dynamically based on source branch
    • still only needed for testing, to use non-"release/" prefix
  • tighten some script output
  • consistent double"quotes" in yaml

Overall process:

  1. prepare creates 1.11.99+ent from 1.11.x+ent, cuts a changelog, updates version, and generates files.
  2. not changed in this PR: build that commit, and do the rest of the release process
  3. finalize merges the commit from .99 into .x and makes the "prepare for next release" commit
  4. finalize main squashes those two commits now in .x into one to push to main

Here's a truncated example of it running successfully (in private nomad-releases repo):

Example finalize failure due to merge conflict (to show debuggability):


Jira: https://hashicorp.atlassian.net/browse/NMD-1109

@gulducat gulducat requested review from a team as code owners February 19, 2026 21:33
@gulducat gulducat added theme/ci backport/ent/1.8.x+ent Changes are backported to 1.8.x+ent backport/ent/1.10.x+ent backport to 1.10.x+ent release line backport/1.11.x backport to 1.11.x release line labels Feb 19, 2026
big ticket items:
* enable finalize script to push (squashed) changes to main branch
* move "LAST_RELEASE" value to scripts/release/previous.version
  * a follow-up will remove LAST_RELEASE from GNUmakefile
* stop changing the slack channel; just use what's in .release/ci.hcl

minutia:
* main-branch input allows for testing "finalize" to non-main branch
* move `git commit` and `git push` out of scripts
  * the workflow does this at the end instead,
    to make a single commit with generated files and changelog
  * ALLOW_DIRTY_WORKTREE env skips that check,
    while still protecting human users from messing up their local git
* new branch prefix is detected dynamically based on source branch
  * still only needed for testing, to use non-"release/" prefix
* tighten some script output
* consistent double"quotes" in yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/ent/1.8.x+ent Changes are backported to 1.8.x+ent backport/ent/1.10.x+ent backport to 1.10.x+ent release line backport/1.11.x backport to 1.11.x release line theme/ci

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant