name: macos-build
on:
workflow_dispatch:
branches: [ "main" ]
workflow_call:
env:
CARGO_TERM_COLOR: always
jobs:
build-macos-arm64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
target: aarch64-apple-darwin
- uses: Swatinem/rust-cache@v2
with:
shared-key: "persist-cross-job-macos-aarch64"
- name: Do the stuff on arm64
shell: bash
run: |
mkdir -p artifacts-arm64
cargo build --release --target aarch64-apple-darwin
mv target/aarch64-apple-darwin/release/kanata artifacts-arm64/kanata_macos_arm64
cargo build --release --features cmd --target aarch64-apple-darwin
mv target/aarch64-apple-darwin/release/kanata artifacts-arm64/kanata_macos_cmd_allowed_arm64
- uses: actions/upload-artifact@v4
with:
name: macos-binaries-arm64
path: |
artifacts-arm64/kanata_macos_arm64
artifacts-arm64/kanata_macos_cmd_allowed_arm64
build-macos-x64:
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
with:
shared-key: "persist-cross-job-macos-x64"
- name: Do the stuff on x64
shell: bash
run: |
mkdir -p artifacts
cargo build --release
mv target/release/kanata artifacts/kanata_macos_x64
cargo build --release --features cmd
mv target/release/kanata artifacts/kanata_macos_cmd_allowed_x64
- uses: actions/upload-artifact@v4
with:
name: macos-binaries-x64
path: |
artifacts/kanata_macos_x64
artifacts/kanata_macos_cmd_allowed_x64