Skip to content

chore: add multi platform support #13

chore: add multi platform support

chore: add multi platform support #13

Workflow file for this run

name: Test
env:
PROJECT_NAME: swiss-qr-bill-decoder
CARGO_TERM_COLOR: always
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test:
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- name: linux-amd64
runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- name: macos-amd64
runner: macos-latest
target: x86_64-apple-darwin
- name: macos-arm64
runner: macos-latest
target: aarch64-apple-darwin
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: "${{ matrix.platform.target }}"
- name: Rust (Cargo) Caching
uses: Swatinem/rust-cache@v2
- name: Install ghostscript (for linux)
uses: awalsh128/cache-apt-pkgs-action@latest
if: matrix.platform.runner == 'ubuntu-latest'
with:
packages: ghostscript
version: 1.0
- name: Install ghostscript (for macos)
run: brew install ghostscript
if: matrix.platform.runner == 'macos-latest'
- name: Build
run: cargo build --locked --target ${{ matrix.platform.target }}
- name: Run tests
run: cargo test --locked --target ${{ matrix.platform.target }}