kanata 1.11.0

Multi-layer keyboard customization
Documentation
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