diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 682a983c..7c339c05 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,31 +28,42 @@ jobs: os: ubuntu-latest bin: claw artifact_name: claw-linux-x64 + target: x86_64-unknown-linux-musl - name: macos-arm64 os: macos-14 bin: claw artifact_name: claw-macos-arm64 + target: aarch64-apple-darwin defaults: run: working-directory: rust steps: - uses: actions/checkout@v4 + - name: Install musl-tools (Linux only) + if: matrix.os == 'ubuntu-latest' + run: sudo apt-get update && sudo apt-get install -y musl-tools + - uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.target }} - uses: Swatinem/rust-cache@v2 with: workspaces: rust -> target - name: Build release binary - run: cargo build --release -p rusty-claude-cli + run: cargo build --release -p rusty-claude-cli --target ${{ matrix.target }} - name: Package artifact shell: bash run: | mkdir -p dist - cp "target/release/${{ matrix.bin }}" "dist/${{ matrix.artifact_name }}" + cp "target/${{ matrix.target }}/release/${{ matrix.bin }}" "dist/${{ matrix.artifact_name }}" chmod +x "dist/${{ matrix.artifact_name }}" + if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then + strip "dist/${{ matrix.artifact_name }}" + fi - name: Upload workflow artifact uses: actions/upload-artifact@v4