From 29d57c7518757583adfa823934650335481631e0 Mon Sep 17 00:00:00 2001 From: Hunter Bown Date: Wed, 6 May 2026 20:34:05 -0500 Subject: [PATCH] ci(release): build linux artifacts natively (#928) --- .github/workflows/release.yml | 56 +---------------------------------- 1 file changed, 1 insertion(+), 55 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index beea75fc..ef055648 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,12 +64,10 @@ jobs: # --- deepseek (cli) --- - os: ubuntu-latest target: x86_64-unknown-linux-gnu - target_zig: x86_64-unknown-linux-gnu.2.28 binary: deepseek artifact_name: deepseek-linux-x64 - os: ubuntu-24.04-arm target: aarch64-unknown-linux-gnu - target_zig: aarch64-unknown-linux-gnu.2.28 binary: deepseek artifact_name: deepseek-linux-arm64 - os: macos-latest @@ -87,12 +85,10 @@ jobs: # --- deepseek-tui (TUI) --- - os: ubuntu-latest target: x86_64-unknown-linux-gnu - target_zig: x86_64-unknown-linux-gnu.2.28 binary: deepseek-tui artifact_name: deepseek-tui-linux-x64 - os: ubuntu-24.04-arm target: aarch64-unknown-linux-gnu - target_zig: aarch64-unknown-linux-gnu.2.28 binary: deepseek-tui artifact_name: deepseek-tui-linux-arm64 - os: macos-latest @@ -123,62 +119,12 @@ jobs: sleep 15 done sudo apt-get install -y libdbus-1-dev pkg-config - - name: Install zig - if: runner.os == 'Linux' - shell: bash - run: | - set -euo pipefail - - case "$(uname -m)" in - x86_64) zig_arch="x86_64" ;; - aarch64|arm64) zig_arch="aarch64" ;; - *) - echo "Unsupported Linux architecture for Zig: $(uname -m)" >&2 - exit 1 - ;; - esac - - zig_version="0.13.0" - zig_dir="zig-linux-${zig_arch}-${zig_version}" - zig_url="https://ziglang.org/download/${zig_version}/${zig_dir}.tar.xz" - - for attempt in 1 2 3 4 5; do - if curl -fsSL \ - --connect-timeout 20 \ - --max-time 180 \ - --speed-limit 1024 \ - --speed-time 30 \ - --retry 2 \ - --retry-delay 5 \ - --retry-all-errors \ - "${zig_url}" \ - -o zig.tar.xz; then - break - fi - echo "Zig download failed (attempt ${attempt}); retrying in 15s" - sleep 15 - done - - tar -xf zig.tar.xz - echo "${PWD}/${zig_dir}" >> "${GITHUB_PATH}" - "${PWD}/${zig_dir}/zig" version - - name: Install cargo-zigbuild - if: runner.os == 'Linux' - run: cargo install cargo-zigbuild --locked - name: Build shell: bash - run: | - if [ -n "${{ matrix.target_zig }}" ]; then - cargo zigbuild --release --locked --target ${{ matrix.target_zig }} - else - cargo build --release --locked --target ${{ matrix.target }} - fi + run: cargo build --release --locked --target ${{ matrix.target }} - name: Rename binary shell: bash run: | - # cargo zigbuild writes binaries to target//release/ — - # the .glibc suffix in matrix.target_zig is consumed by zig as a CC - # flag, not by cargo as a target dir. Always use the rust target. BIN_PATH="target/${{ matrix.target }}/release/${{ matrix.binary }}" if [ ! -f "${BIN_PATH}" ]; then echo "Binary not at ${BIN_PATH}; searching target/ for ${{ matrix.binary }}:"