From dac1f13a3da3d604818b14dbdff7de86e73c59f8 Mon Sep 17 00:00:00 2001 From: Adrien Cacciaguerra Date: Mon, 9 Nov 2026 14:20:18 -0800 Subject: [PATCH] ci: run the release build on pull requests `pr-run-mode = "upload"` makes dist build every release artifact on pull requests and attach it to the workflow run; publishing still needs a tag push. The draft release job, the one custom job dist also runs on pull requests in this mode, skips them. This replaces `musl-build`, which built the musl targets with plain `cargo build` and so kept the `-lgcc` from `target.aarch64-unknown-linux-musl.rustflags`. dist sets `RUSTFLAGS`, which makes cargo ignore that table: the 5.7.0 aarch64 musl release failed to link while `musl-build` passed. Refs COD-4123 Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 27 ---------------------- .github/workflows/create-draft-release.yml | 1 + dist-workspace.toml | 4 ++-- 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b76593946..b7b10f198 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -310,32 +310,6 @@ jobs: runner-version: rev:${{ env.CODSPEED_REV }} skip-hash-check-warning: true - musl-build: - runs-on: ${{ matrix.runner }} - strategy: - fail-fast: false - matrix: - include: - - runner: ubuntu-latest - target: x86_64-unknown-linux-musl - - runner: ubuntu-24.04-arm - target: aarch64-unknown-linux-musl - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - submodules: true - - uses: ./.github/actions/install-rust - with: - cache-key: ${{ matrix.target }} - - uses: ./.github/actions/install-bpf-deps - - name: Install the musl toolchain - run: | - sudo apt-get install -y musl-tools linux-libc-dev - rustup target add "${{ matrix.target }}" - - - name: Build - run: cargo build --bin codspeed --target "${{ matrix.target }}" - check: runs-on: ubuntu-latest if: always() @@ -348,7 +322,6 @@ jobs: - basic-run-test - macos-basic-run-test - bpf-tests - - musl-build - benchmarks - memtrack-benchmarks steps: diff --git a/.github/workflows/create-draft-release.yml b/.github/workflows/create-draft-release.yml index ab36ac2f8..c8cf4d511 100644 --- a/.github/workflows/create-draft-release.yml +++ b/.github/workflows/create-draft-release.yml @@ -9,6 +9,7 @@ on: jobs: main: + if: github.event_name != 'pull_request' runs-on: ubuntu-latest env: PLAN: ${{ inputs.plan }} diff --git a/dist-workspace.toml b/dist-workspace.toml index fc1cd22a9..7eb01b278 100644 --- a/dist-workspace.toml +++ b/dist-workspace.toml @@ -13,8 +13,8 @@ ci = "github" installers = ["shell"] # The archive format to use for non-windows builds (defaults .tar.xz) unix-archive = ".tar.gz" -# Which actions to run on pull requests -pr-run-mode = "plan" +# Builds every artifact on PRs and keeps them on the workflow run; only a tag push publishes +pr-run-mode = "upload" # Post-announce jobs to run in CI post-announce-jobs = ["./post-announce"] # Path that installers should place binaries in