From 8b98e78c2611493e51992fc86a1af469d5615b1a Mon Sep 17 00:00:00 2001 From: Thomas Nemer Date: Sat, 21 Feb 2026 12:32:35 +0100 Subject: [PATCH] Add cross-platform release builds and status badges Add Windows (x64) and macOS (x64, arm64) release builds alongside the existing Linux targets. Display CI and Release workflow status badges at the top of the README. --- .github/workflows/release.yml | 52 +++++++++++++++++++++++++++++++++-- README.md | 3 ++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eae3c27..b659fe4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ permissions: contents: write jobs: - build: + build-linux: runs-on: ubuntu-latest strategy: matrix: @@ -55,8 +55,56 @@ jobs: name: data-breaker-${{ matrix.target }} path: data-breaker-${{ matrix.target }} + build-macos: + runs-on: macos-latest + strategy: + matrix: + include: + - target: x86_64-apple-darwin + - target: aarch64-apple-darwin + + steps: + - uses: actions/checkout@v4 + + - uses: jdx/mise-action@v2 + + - name: Add target + run: rustup target add ${{ matrix.target }} + + - name: Build + run: cargo build --release --target ${{ matrix.target }} + + - name: Strip binary + run: strip target/${{ matrix.target }}/release/data-breaker + + - name: Package artifact + run: cp target/${{ matrix.target }}/release/data-breaker data-breaker-${{ matrix.target }} + + - uses: actions/upload-artifact@v4 + with: + name: data-breaker-${{ matrix.target }} + path: data-breaker-${{ matrix.target }} + + build-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - uses: jdx/mise-action@v2 + + - name: Build + run: cargo build --release --target x86_64-pc-windows-msvc + + - name: Package artifact + run: cp target/x86_64-pc-windows-msvc/release/data-breaker.exe data-breaker-x86_64-pc-windows-msvc.exe + + - uses: actions/upload-artifact@v4 + with: + name: data-breaker-x86_64-pc-windows-msvc + path: data-breaker-x86_64-pc-windows-msvc.exe + release: - needs: build + needs: [build-linux, build-macos, build-windows] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 558ae18..60c3fab 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +[![CI](https://github.com/bombfork/data-breaker/actions/workflows/ci.yml/badge.svg)](https://github.com/bombfork/data-breaker/actions/workflows/ci.yml) +[![Release](https://github.com/bombfork/data-breaker/actions/workflows/release.yml/badge.svg)](https://github.com/bombfork/data-breaker/actions/workflows/release.yml) + # data-breaker **Break what data brokers do.**