name: Release
on:
push:
tags:
- 'v*'
env:
CARGO_TERM_COLOR: always
permissions:
contents: write
jobs:
release:
name: Build and publish ${{ github.ref_name }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Add musl target
run: rustup target add x86_64-unknown-linux-musl
- name: Install zig
uses: goto-bus-stop/setup-zig@v2
with:
version: 0.11.0
- name: Install zigbuild
run: cargo install cargo-zigbuild
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Build
run: cargo zigbuild --release --target x86_64-unknown-linux-musl
- name: Strip & Prepare
run: |
strip target/x86_64-unknown-linux-musl/release/createrepo_rs
cp target/x86_64-unknown-linux-musl/release/createrepo_rs createrepo_rs-x86_64-unknown-linux-musl
- name: Publish release
uses: softprops/action-gh-release@v2
with:
name: ${{ github.ref_name }}
draft: false
prerelease: false
body: |
## Changes in ${{ github.ref_name }}
See [commits](https://github.com/jamesarch/createrepo_rs/compare/${{ github.ref_name }}...main) for full history.
files: createrepo_rs-x86_64-unknown-linux-musl