Skip to content

Prepare git-sizer for a new release built with Go 1.27.3 - #165

Merged
larsxschneider merged 6 commits into
masterfrom
ls/git-sizer-release
Nov 12, 2026
Merged

larsxschneider merged 6 commits into
masterfrom
ls/git-sizer-release

Conversation

@larsxschneider

@larsxschneider larsxschneider commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Prepare git-sizer for a new release built with Go 1.27.3:

  • Disable cgo for release builds (CGO_ENABLED=0): Native linux/amd64 builds on ubuntu-latest otherwise link dynamically against GLIBC_2.34 via net / runtime/cgo and fail on older Linux distributions (e.g. Ubuntu 20.04 with GLIBC_2.31).
  • Strip leading v from GITHUB_REF_NAME in release.yml: Pushing tag v1.6.0 sets GITHUB_REF_NAME=v1.6.0, whereas Makefile expects VERSION=1.6.0 so archive filenames (git-sizer-1.6.0-<os>-<arch>.zip) and git-sizer --version match prior releases (v1.0.0–v1.5.0).
  • Update Go toolchain to 1.27.3: Update test.yml, release.yml, and the fallback vendored Go scripts (script/ensure-go-installed.sh, script/install-vendored-go) from Go 1.21 to Go 1.27.3 (while continuing to accept installed Go 1.26.10+), and drop the Go 1.21 macos-15 runner workaround.
  • Replace softprops/action-gh-release with gh release create: Drop the third-party node16 action in release.yml in favor of the preinstalled GitHub CLI on ubuntu-latest (this way we can close Bump softprops/action-gh-release from 1 to 2 #164 )
  • Update docs/RELEASING.md: Reflect the automated draft release workflow triggered by pushing a v* tag.

@larsxschneider
larsxschneider requested a review from a team as a code owner November 12, 2026 12:21
Copilot AI dynamic review requested due to automatic review settings November 12, 2026 12:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The four replacement vendored-toolchain SHA-256 values could not be verified against official Go 1.27.3 download metadata and need confirmation before the fallback installer is relied on for release builds.

No open issues 🎉

What changed in this PR

Prepares git-sizer for releases built with Go 1.27.3, improves Linux binary compatibility, and aligns release naming and documentation with the automated workflow.

Changes:

  • Disables cgo for release builds and strips the tag’s leading v from release versions.
  • Updates CI and fallback Go installers, adds Linux ARM64 installer support, and removes the macOS runner workaround.
  • Documents the tag-triggered draft release process.
File Description
script/​install-vendored-go Updates Go version and checksums; adds Linux ARM64 support.
script/​ensure-go-installed.sh Updates fallback Go and installed-version acceptance checks.
Makefile Disables cgo for release platform builds.
docs/​RELEASING.md Documents automated draft release creation.
.github/​workflows/​test.yml Updates Go and uses the standard matrix runners.
.github/​workflows/​release.yml Updates Go setup and normalizes release versions.

Review effort: Balanced (auto)

larsxschneider and others added 5 commits November 12, 2026 12:53
Cross-compiled release targets already disable cgo implicitly, but the
native host target (linux/amd64 on ubuntu-latest) defaults to
CGO_ENABLED=1 and links against GLIBC_2.34, which fails on older
systems like Ubuntu 20.04 (GLIBC_2.31). Force CGO_ENABLED=0 for all
release targets so every archive ships a static binary.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d5946d63-5054-4db7-8484-2db48414dc6e
GITHUB_REF_NAME includes the tag's leading "v" (e.g. "v1.6.0"), whereas
Makefile expects a bare version ("1.6.0"). Strip the prefix so archive
names and "--version" output match prior releases (v1.0.0-v1.5.0) and
downstream packaging URLs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d5946d63-5054-4db7-8484-2db48414dc6e
Raise the fallback vendored Go version from 1.21.3 to 1.27.3 (and add
linux/arm64 checksums) to pick up Go stdlib security fixes such as
CVE-2026-111943, while still accepting installed Go 1.26.10+.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d5946d63-5054-4db7-8484-2db48414dc6e
Build releases and run CI tests with Go 1.27.3 instead of Go 1.21 so
published binaries include current Go stdlib security fixes
(CVE-2026-111943). Also drop the macos-15 runner pin that was only
needed for Go 1.21 linker output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d5946d63-5054-4db7-8484-2db48414dc6e
Pushing a "v*" tag now builds the platform archives and creates a draft
release via release.yml instead of requiring manual local uploads.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d5946d63-5054-4db7-8484-2db48414dc6e
torstenwalter
torstenwalter previously approved these changes Nov 12, 2026
Drop the third-party softprops/action-gh-release dependency (whose v1
tag still uses the deprecated node16 runtime) in favor of the
preinstalled GitHub CLI on ubuntu-latest.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d5946d63-5054-4db7-8484-2db48414dc6e
@larsxschneider
larsxschneider merged commit 420f73b into master Nov 12, 2026
11 checks passed
@larsxschneider
larsxschneider deleted the ls/git-sizer-release branch November 12, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants