name: client on: [push, pull_request] jobs: build: strategy: 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