12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- on:
- push:
- branches: [ staging, trying, master ]
- pull_request:
- name: Continuous integration
- jobs:
- ci-linux:
- runs-on: ubuntu-20.04
- continue-on-error: ${{ matrix.experimental || false }}
- strategy:
- matrix:
- # All generated code should be running on stable now, MRSV is 1.59.0
- rust: [nightly, stable, 1.59.0]
- include:
- # Nightly is only for reference and allowed to fail
- - rust: nightly
- experimental: true
- steps:
- - uses: actions/checkout@v2
- - uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: ${{ matrix.rust }}
- override: true
- - name: Install all Rust targets for ${{ matrix.rust }}
- run: rustup target install --toolchain=${{ matrix.rust }} x86_64-unknown-linux-gnu riscv32imac-unknown-none-elf riscv64imac-unknown-none-elf riscv64gc-unknown-none-elf
- - name: Install riscv gcc
- run: sudo apt-get update && sudo apt-get install -y gcc-riscv64-unknown-elf
- - name: Run CI script for x86_64-unknown-linux-gnu under ${{ matrix.rust }}
- run: cargo check --target x86_64-unknown-linux-gnu
- - name: Run CI script for riscv32imac-unknown-none-elf under ${{ matrix.rust }}
- run: cargo check --target riscv32imac-unknown-none-elf
- - name: Run CI script for riscv64imac-unknown-none-elf under ${{ matrix.rust }}
- run: cargo check --target riscv64imac-unknown-none-elf
- - name: Run CI script for riscv64gc-unknown-none-elf under ${{ matrix.rust }}
- run: cargo check --target riscv64gc-unknown-none-elf
- - name: Run CI script for x86_64-unknown-linux-gnu under ${{ matrix.rust }} with critical-section-single-hart
- run: cargo check --target x86_64-unknown-linux-gnu --features critical-section-single-hart
- - name: Run CI script for riscv32imac-unknown-none-elf under ${{ matrix.rust }} with critical-section-single-hart
- run: cargo check --target riscv32imac-unknown-none-elf --features critical-section-single-hart
- - name: Run CI script for riscv64imac-unknown-none-elf under ${{ matrix.rust }} with critical-section-single-hart
- run: cargo check --target riscv64imac-unknown-none-elf --features critical-section-single-hart
- - name: Run CI script for riscv64gc-unknown-none-elf under ${{ matrix.rust }} with critical-section-single-hart
- run: cargo check --target riscv64gc-unknown-none-elf --features critical-section-single-hart
- # On macOS and Windows, we at least make sure that the crate builds and links.
- build-other:
- strategy:
- matrix:
- os:
- - macOS-latest
- - windows-latest
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v2
- - uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
- - name: Build crate for host OS
- run: cargo build --features critical-section-single-hart
|