From 01f71b50e365c7baa1c962fcd61268ec45fbe40a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 15:08:28 +0000 Subject: [PATCH 1/5] Initial plan From f5eb91f7424cd1ccb274b262c92dc74ef1f5392a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 15:13:05 +0000 Subject: [PATCH 2/5] Add macOS Go CI coverage Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com> --- .github/workflows/ci.yml | 28 +++++++++++++++++++++++++++- tests/unit/test_ci_workflows.py | 24 ++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tests/unit/test_ci_workflows.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17324b1d..b6b5dc20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,8 @@ jobs: - name: Lint - auth-protocol boundary (#1212 anti-regression) run: bash scripts/lint-auth-signals.sh - # Linux-only for PR feedback. Full platform matrix (incl. macOS + Windows) runs post-merge in build-release.yml. + # Python test + binary build remain Linux-only for PR feedback. Full packaged + # platform coverage (incl. macOS + Windows) runs post-merge in build-release.yml. # Combines unit tests + binary build into a single job to eliminate runner re-provisioning overhead. build-and-test: name: Build & Test (Linux) @@ -128,6 +129,31 @@ jobs: retention-days: 30 if-no-files-found: error + go-build-test: + name: Go Build & Test (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + permissions: + contents: read + strategy: + fail-fast: false + matrix: + os: [ubuntu-24.04, macos-latest] + + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + cache: true + + - name: Run Go tests + run: go test ./... + + - name: Run Go build + run: go build ./... + # Dogfood the two CI gates we ship and document to users: # - Gate A (consumer-side): `apm audit --ci` -- lockfile / install fidelity. # - Gate B (producer-side): regeneration drift -- did someone hand-edit diff --git a/tests/unit/test_ci_workflows.py b/tests/unit/test_ci_workflows.py new file mode 100644 index 00000000..7eba1aa0 --- /dev/null +++ b/tests/unit/test_ci_workflows.py @@ -0,0 +1,24 @@ +from pathlib import Path + +import yaml + +REPO_ROOT = Path(__file__).resolve().parents[2] + + +def _load_ci_workflow(): + return yaml.safe_load((REPO_ROOT / ".github/workflows/ci.yml").read_text()) + + +def test_go_build_test_matrix_includes_macos(): + job = _load_ci_workflow()["jobs"]["go-build-test"] + + assert job["runs-on"] == "${{ matrix.os }}" + assert job["strategy"]["matrix"]["os"] == ["ubuntu-24.04", "macos-latest"] + + +def test_go_build_test_runs_build_and_tests(): + steps = _load_ci_workflow()["jobs"]["go-build-test"]["steps"] + commands = [step.get("run") for step in steps] + + assert "go test ./..." in commands + assert "go build ./..." in commands From 256297ccdeeba581dabd4a7ad5dcfe5af7e27d10 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 17:01:57 +0000 Subject: [PATCH 3/5] Fix macOS reflink fallback build Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com> --- internal/utils/reflink/reflink_other.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/utils/reflink/reflink_other.go b/internal/utils/reflink/reflink_other.go index d8386f69..fdcb5ef1 100644 --- a/internal/utils/reflink/reflink_other.go +++ b/internal/utils/reflink/reflink_other.go @@ -1,4 +1,4 @@ -//go:build !linux && !darwin +//go:build !linux package reflink From ca1ad8a924cf3b9b5bf72d733293960ad6ffc51d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 17:03:15 +0000 Subject: [PATCH 4/5] Validate macOS CI fix Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com> --- bin/apm-go | Bin 2759993 -> 2759993 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/apm-go b/bin/apm-go index bbdc5fe0c1fb2905def30c6217083c68f5206ee1..cd888b28c2248f130308cea5c62d65562c18e951 100755 GIT binary patch delta 467 zcmcJ|yH3JT0Eh7+cmYvbL=aI6;sp|koXX)?1_xZEiVQ=^eGduUuJ^fVLOZzbE= zb~>(<%N33JxnnucSvZb!ff-WyBG*WMzP2eF z90jcJ{SRl*YP{IHlRfcKo delta 467 zcmcJ|yH3Jj0LAfg@rIYSf*_(6@dk;;el2`0j0Q9e5(yg7g-}Wd6HSH6WpHx9(S(8c z20Ez|!6$Iz8Aw=&yQA@pzJSAT`R633_wj7&!P^5HQOj3_RLZRGU+0wzCEc`cW4XPv zdM%rz2XVDw7{_Kou2+td?RVB2PsS{osfahEl1?{L=ek+THW??wFdlHgVdj*1dii{` z4?|UHl#jS`ug&j~dDkB72=@Zl5;z;!!2wPfgK?OENtgl`Ov4P!!W^)`bp?(e20b#N zM3keuVoakFQIwKm$Q>Wy2jRa(6ZJSLmNlbXqEy8mK_^7f)uPr3O1$4CpAecLVnU8~ z`ecc;EQyDCaDxXHzzaTD>{^mP@beGvExbbjmSF`}L4Y8vK?v4i12$m`wjtc@lgQ=Q EFNYG0N&o-= From a234980224b4487e0563d086e58229f611be31e5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 17:04:11 +0000 Subject: [PATCH 5/5] Restore built binary artifact Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com> --- bin/apm-go | Bin 2759993 -> 2759993 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/apm-go b/bin/apm-go index cd888b28c2248f130308cea5c62d65562c18e951..bbdc5fe0c1fb2905def30c6217083c68f5206ee1 100755 GIT binary patch delta 467 zcmcJ|yH3Jj0LAfg@rIYSf*_(6@dk;;el2`0j0Q9e5(yg7g-}Wd6HSH6WpHx9(S(8c z20Ez|!6$Iz8Aw=&yQA@pzJSAT`R633_wj7&!P^5HQOj3_RLZRGU+0wzCEc`cW4XPv zdM%rz2XVDw7{_Kou2+td?RVB2PsS{osfahEl1?{L=ek+THW??wFdlHgVdj*1dii{` z4?|UHl#jS`ug&j~dDkB72=@Zl5;z;!!2wPfgK?OENtgl`Ov4P!!W^)`bp?(e20b#N zM3keuVoakFQIwKm$Q>Wy2jRa(6ZJSLmNlbXqEy8mK_^7f)uPr3O1$4CpAecLVnU8~ z`ecc;EQyDCaDxXHzzaTD>{^mP@beGvExbbjmSF`}L4Y8vK?v4i12$m`wjtc@lgQ=Q EFNYG0N&o-= delta 467 zcmcJ|yH3JT0Eh7+cmYvbL=aI6;sp|koXX)?1_xZEiVQ=^eGduUuJ^fVLOZzbE= zb~>(<%N33JxnnucSvZb!ff-WyBG*WMzP2eF z90jcJ{SRl*YP{IHlRfcKo