From 642974b79f0f9215bef43d2850e73e85f1389f73 Mon Sep 17 00:00:00 2001 From: Marcin <120790937+mar0ls@users.noreply.github.com> Date: Sat, 4 Jul 2026 14:15:49 +0200 Subject: [PATCH] ci: bump Go matrix to 1.23/stable, document automerge branch protection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Go 1.22 hits a dyld 'missing LC_UUID' linker bug on macOS Sequoia+ runners (golang/go#71920, fixed in 1.23.4). The bug is toolchain-side, not code: 5/6 matrix slots pass on v0.5.0, only macos-latest+1.22 aborts before any test runs. Bumping the CI matrix to 1.23 and stable removes the failing slot. go.mod still declares 'go 1.22' so consumers on 1.22 can use the library — CI only tests what it can build. Also document why the --auto flag in automerge.yml merged v0.5 despite the CI failure: without required status checks configured under main's branch protection, --auto degrades to an immediate merge. Enabling required checks in Settings -> Branches is the fix; this is a repo-config step, not a workflow change. --- .github/workflows/automerge.yml | 5 +++++ .github/workflows/test.yml | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 34bcf0e..bd8d3b7 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -1,5 +1,10 @@ name: Auto-merge dev→main +# The --auto flag defers merge until required status checks pass, but only if +# main has branch protection with those checks marked "required" in +# Settings → Branches. Without required checks configured, GitHub merges +# immediately and CI failures do not block the merge. + on: pull_request: types: [opened, reopened, synchronize] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 29d837c..2590b74 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,10 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - go: ['1.22', 'stable'] + # Go 1.22 hits a dyld "missing LC_UUID" bug on macOS Sequoia+ runners + # (golang/go#71920, fixed in 1.23.4). go.mod still declares `go 1.22` + # so consumers on 1.22 can still use the library. + go: ['1.23', 'stable'] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4