123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- on:
- push:
- branches: [ staging, trying, master ]
- pull_request:
- name: Continuous integration
- env:
- CARGO_TERM_COLOR: always
- jobs:
- # On Linux, we check that the crate builds and links for all the toolchains and targets.
- ci-linux:
- strategy:
- matrix:
- # All generated code should be running on stable now, MRSV is 1.59.0
- toolchain: [ stable, nightly, 1.59.0 ]
- target:
- - x86_64-unknown-linux-gnu
- - riscv32i-unknown-none-elf
- - riscv32imc-unknown-none-elf
- - riscv32imac-unknown-none-elf
- - riscv64gc-unknown-linux-gnu
- - riscv64gc-unknown-none-elf
- cargo_flags: [ "--no-default-features", "--all-features" ]
- include:
- # Nightly is only for reference and allowed to fail
- - rust: nightly
- experimental: true
- runs-on: ubuntu-latest
- continue-on-error: ${{ matrix.experimental || false }}
- steps:
- - uses: actions/checkout@v3
- - uses: dtolnay/rust-toolchain@master
- with:
- toolchain: ${{ matrix.toolchain }}
- targets: ${{ matrix.target }}
- - name: Build library
- run: cargo build --target ${{ matrix.target }} ${{ matrix.cargo_flags }}
-
- # On macOS and Windows, we at least make sure that the crate builds and links.
- ci-others:
- strategy:
- matrix:
- os:
- - macOS-latest
- - windows-latest
- cargo_flags: [ "--no-default-features", "--all-features" ]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v3
- - uses: dtolnay/rust-toolchain@stable
- - name: Build crate for host OS
- run: cargo build ${{ matrix.cargo_flags }}
|