Skip to content

Support more targets (#42) #71

Support more targets (#42)

Support more targets (#42) #71

Workflow file for this run

name: Rust
on:
pull_request:
push:
branches:
- 'master'
tags:
- '*'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
target:
- wasm32-unknown-unknown
- i686-unknown-linux-gnu
- x86_64-unknown-linux-gnu
- i686-pc-windows-msvc
# - i686-pc-windows-gnu
- x86_64-pc-windows-msvc
- x86_64-pc-windows-gnu
- x86_64-apple-darwin
include:
- target: wasm32-unknown-unknown
os: ubuntu-latest
cargo_dir: ''
toolchain: stable
tests: skip
- target: i686-unknown-linux-gnu
os: ubuntu-latest
cargo_dir: ''
toolchain: stable-i686-unknown-linux-gnu
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
cargo_dir: ''
toolchain: stable
- target: i686-pc-windows-msvc
os: windows-latest
cargo_dir: ''
toolchain: stable
# The windows crate doesn't work with this target atm.
# - target: i686-pc-windows-gnu
# os: windows-latest
# cargo_dir: ''
# toolchain: stable-i686-pc-windows-gnu
- target: x86_64-pc-windows-msvc
os: windows-latest
cargo_dir: ''
toolchain: stable
- target: x86_64-pc-windows-gnu
os: windows-latest
cargo_dir: ''
toolchain: stable-x86_64-pc-windows-gnu
- target: x86_64-apple-darwin
os: macOS-latest
cargo_dir: '$HOME/.cargo/bin/'
toolchain: stable
steps:
- uses: actions/checkout@v3
- name: Install gcc-multilib
if: matrix.target == 'i686-unknown-linux-gnu'
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends g++-multilib
- name: Install Rust Compiler
if: matrix.os == 'macOS-latest'
run: curl https://sh.rustup.rs -sSf | sh -s -- -y
- name: Set up toolchain
run: ${{ matrix.cargo_dir }}rustup toolchain install ${{ matrix.toolchain }}
- name: Set up target
run: ${{ matrix.cargo_dir }}rustup target install ${{ matrix.target }} --toolchain ${{ matrix.toolchain }}
- name: Build
run: ${{ matrix.cargo_dir }}cargo +${{ matrix.toolchain }} build --target ${{ matrix.target }}
env:
RUSTFLAGS: -D warnings
- name: Run tests
if: matrix.tests != 'skip'
run: ${{ matrix.cargo_dir }}cargo +${{ matrix.toolchain }} test --target ${{ matrix.target }}
env:
RUSTFLAGS: -D warnings