name: release
on:
release:
types: [published]
permissions:
contents: write
env:
CARGO_TERM_COLOR: always
RUST_VERSION: "1.85.0"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.RUST_VERSION }}
- run: cargo login ${{ secrets.CRATES_IO_API_TOKEN }}
- run: cargo publish
build:
name: Build x86_64-unknown-linux-musl
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.RUST_VERSION }}
targets: x86_64-unknown-linux-musl
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: musl-tools version: 1.0
- name: Build
run: cargo build --release --target x86_64-unknown-linux-musl --examples
- name: Prepare files
run: |
mv target/x86_64-unknown-linux-musl/release/examples/regression examples/regression
rm -rf examples/fix_args.rs
mv demo examples/demo
mv README.md examples/README.md
zip -r examples.zip examples
- name: Upload to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: examples.zip
asset_name: examples_x86_64-unknown-linux-musl.zip
asset_content_type: application/zip