diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index 12734b0..a7f8e60 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -3,3 +3,4 @@ self-hosted-runner: - crabbox - openclaw - crawlkit + - xcode-27 diff --git a/.github/workflows/release-unified.yml b/.github/workflows/release-unified.yml index 3379cfb..c533ca3 100644 --- a/.github/workflows/release-unified.yml +++ b/.github/workflows/release-unified.yml @@ -21,7 +21,7 @@ concurrency: jobs: preflight: - runs-on: macos-14 + runs-on: xcode-27 permissions: contents: read steps: @@ -42,10 +42,15 @@ jobs: with: go-version-file: go.mod cache: true + - name: Verify Rosetta + run: | + arch -x86_64 /usr/bin/true || sudo softwareupdate --install-rosetta --agree-to-license + arch -x86_64 /usr/bin/true - name: Verify macOS deployment targets env: CGO_ENABLED: '0' GOWORK: 'off' + MACOSX_DEPLOYMENT_TARGET: '13.0' run: | set -euo pipefail for arch in amd64 arm64; do @@ -55,6 +60,11 @@ jobs: printf '%s\n' "$build_version" minos=$(awk '/minos/ { print $2 }' <<<"$build_version") [[ "$minos" == 13.0 ]] || { echo "unexpected macOS minimum: $minos" >&2; exit 1; } + if [ "$arch" = amd64 ]; then + arch -x86_64 "$binary" --help + else + arch -arm64 "$binary" --help + fi done - name: Preflight notarization access env: diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 951ec60..0bb6d51 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -13,6 +13,7 @@ builds: - -trimpath env: - CGO_ENABLED=0 + - MACOSX_DEPLOYMENT_TARGET=13.0 ldflags: - -s -w -X main.version={{ .Version }} targets: diff --git a/CHANGELOG.md b/CHANGELOG.md index 682cdfe..306ee71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Move macOS release preflight to Xcode 27, retaining macOS 13 deployment checks and verifying Intel execution through Rosetta. + - Fix Crabbox hydration readiness and shutdown with lease-scoped state files, and allow automatic local hydration by omitting an unsupported explicit cache option. - Update SQLite's indirect pprof test dependency to the October 16 revision while preserving the required SQLite/libc version pair and Go 1.27.0 minimum. - Refresh pprof, Go analysis tooling, and the pinned TruffleHog action while retaining the Go 1.27.0 minimum and SQLite's required libc version.