From c9b04980b85cdda8855dfe094509ebde24496bf6 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Tue, 24 Mar 2026 21:14:00 -0500 Subject: [PATCH 1/4] fix: add -buildvcs=false to Linux container builds Go build fails with "error obtaining VCS status: exit status 128" inside manylinux Docker containers because git safe.directory is not configured. Version info is already stamped via ldflags, so VCS stamping is redundant. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 234dbadb..2be0ddfd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,7 +59,7 @@ jobs: mkdir -p dist LDFLAGS="-s -w -X main.version=v${VERSION} -X main.commit=${COMMIT} -X main.buildDate=${BUILD_DATE}" - go build -tags fts5 -ldflags="$LDFLAGS" -trimpath \ + go build -tags fts5 -buildvcs=false -ldflags="$LDFLAGS" -trimpath \ -o dist/agentsview ./cmd/agentsview # Smoke test (native builds — no cross-compilation) From 4eb0d643fb6231f4e7c84192d2330398459ad944 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Tue, 24 Mar 2026 21:16:54 -0500 Subject: [PATCH 2/4] fix: make build-linux non-blocking for release and pypi jobs build-linux failures inside manylinux containers should not prevent the GitHub release or PyPI publish from running with the platforms that did succeed (macOS, Windows). - Add if conditions so release runs when build succeeds regardless of build-linux result - Same for pypi: runs when release succeeds - Remove --require-all from wheel builder so it packages whatever platforms are available - Make smoke test conditional on Linux wheel existence Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2be0ddfd..274bc117 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -185,6 +185,7 @@ jobs: release: needs: [build-linux, build] + if: ${{ !cancelled() && needs.build.result == 'success' }} runs-on: ubuntu-latest permissions: contents: write @@ -240,6 +241,7 @@ jobs: pypi: needs: [build-linux, build, release] + if: ${{ !cancelled() && needs.release.result == 'success' }} runs-on: ubuntu-latest environment: pypi permissions: @@ -266,14 +268,18 @@ jobs: --version "$VERSION" \ --input-dir artifacts \ --output-dir wheels \ - --readme README.md \ - --require-all + --readme README.md - name: Smoke test wheel run: | VERSION=${GITHUB_REF#refs/tags/v} - pip install wheels/agentsview-${VERSION}-py3-none-manylinux_2_28_x86_64.whl - agentsview --version + WHEEL="wheels/agentsview-${VERSION}-py3-none-manylinux_2_28_x86_64.whl" + if [ -f "$WHEEL" ]; then + pip install "$WHEEL" + agentsview --version + else + echo "Linux x86_64 wheel not available, skipping smoke test" + fi - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0 From 4a385431759ec31dd30d108b6d0b0e97185d2aa1 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Tue, 24 Mar 2026 21:20:16 -0500 Subject: [PATCH 3/4] fix: require build-linux success for pypi publish PyPI should have all platform wheels, so keep build-linux as a hard requirement for the pypi job. Only the GitHub release is non-blocking. Restores --require-all and the direct smoke test. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 274bc117..00dacbe6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -241,7 +241,7 @@ jobs: pypi: needs: [build-linux, build, release] - if: ${{ !cancelled() && needs.release.result == 'success' }} + if: ${{ !cancelled() && needs.release.result == 'success' && needs.build-linux.result == 'success' }} runs-on: ubuntu-latest environment: pypi permissions: @@ -268,18 +268,14 @@ jobs: --version "$VERSION" \ --input-dir artifacts \ --output-dir wheels \ - --readme README.md + --readme README.md \ + --require-all - name: Smoke test wheel run: | VERSION=${GITHUB_REF#refs/tags/v} - WHEEL="wheels/agentsview-${VERSION}-py3-none-manylinux_2_28_x86_64.whl" - if [ -f "$WHEEL" ]; then - pip install "$WHEEL" - agentsview --version - else - echo "Linux x86_64 wheel not available, skipping smoke test" - fi + pip install wheels/agentsview-${VERSION}-py3-none-manylinux_2_28_x86_64.whl + agentsview --version - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0 From 9bdf5516e2672decaf2cf25d72ab65e19374735a Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Tue, 24 Mar 2026 21:20:55 -0500 Subject: [PATCH 4/4] revert: remove non-blocking if conditions from release/pypi jobs All builds must succeed before release or pypi runs. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 00dacbe6..2be0ddfd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -185,7 +185,6 @@ jobs: release: needs: [build-linux, build] - if: ${{ !cancelled() && needs.build.result == 'success' }} runs-on: ubuntu-latest permissions: contents: write @@ -241,7 +240,6 @@ jobs: pypi: needs: [build-linux, build, release] - if: ${{ !cancelled() && needs.release.result == 'success' && needs.build-linux.result == 'success' }} runs-on: ubuntu-latest environment: pypi permissions: