Skip to content

Commit

Permalink
ci: add release publish workflow
Browse files Browse the repository at this point in the history
On a new published release, build and upload the cli's
as static binaries in a tar file.

Signed-off-by: Tiago Castro <[email protected]>
  • Loading branch information
tiagolobocastro committed Oct 21, 2024
1 parent 0b1dd03 commit 0f2ebfc
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Publish Bins
on:
release:
types: [published]
jobs:
paperclip-bins:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-musl
- os: ubuntu-latest
target: aarch64-unknown-linux-musl
- os: macos-14
target: x86_64-apple-darwin
- os: macos-13
target: aarch64-apple-darwin
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Build
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --bins --verbose --release --features "cli" -p paperclip -p paperclip-ng --target ${{ matrix.target }}
- name: Archive
shell: bash
run: |
tar -czf paperclip-${{ matrix.target }}.tar.gz LICENSE-APACHE LICENSE-MIT -C ./target/${{ matrix.target }}/release/ paperclip paperclip-ng
- name: Publish
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release upload "${{ github.event.release.tag_name }}" --clobber *.tar.gz

0 comments on commit 0f2ebfc

Please sign in to comment.