krata/.github/workflows/client.yml
2024-03-21 20:15:09 -07:00

39 lines
1.2 KiB
YAML

name: client
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- { name: linux, on: ubuntu-latest }
- { name: darwin, on: macos-14 }
- { name: windows, on: windows-latest }
arch:
- x86_64
- aarch64
exclude:
# aarch64 windows support is not available in downstream dependencies
- os: { name: windows, on: windows-latest }
arch: aarch64
env:
TARGET_OS: "${{ matrix.os.name }}"
TARGET_ARCH: "${{ matrix.arch }}"
runs-on: "${{ matrix.os.on }}"
name: build ${{ matrix.os.name }}-${{ matrix.arch }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
if: ${{ matrix.os.name != 'darwin' }}
- uses: dtolnay/rust-toolchain@stable
with:
targets: "${{ matrix.arch }}-apple-darwin"
if: ${{ matrix.os.name == 'darwin' }}
- uses: homebrew/actions/setup-homebrew@master
if: ${{ matrix.os.name == 'darwin' }}
- run: ./hack/ci/install-${{ matrix.os.name }}-deps.sh
- run: ./hack/build/cargo.sh build --bin kratactl