name: Publish macOS binaries
on:
release:
types: [created]
workflow_dispatch:
permissions:
contents: write
env:
CARGO_TERM_COLOR: always
jobs:
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v7
- uses: Swatinem/rust-cache@v2
- name: Add Rust targets
run: rustup target add aarch64-apple-darwin x86_64-apple-darwin
- name: Build and package both targets
run: |
version="$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version')"
for target in aarch64-apple-darwin x86_64-apple-darwin; do
cargo build --release --locked --verbose --target "$target"
name="kinjo-${version}-${target}"
mkdir -p "$name/commands"
cp "target/${target}/release/kinjo" "$name/"
cp README.md LICENSE "$name/"
cp actions/*.toml "$name/commands/"
tar -czf "${name}.tar.gz" "$name"
done
- name: Upload packages to release
env:
GH_TOKEN: ${{ github.token }}
run: gh release upload "${{ github.event.release.tag_name || github.ref_name }}" kinjo-*.tar.gz --clobber