1+ on :
2+ push :
3+ branches : [ staging, trying, master ]
4+ pull_request :
5+
6+ name : Continuous integration
7+
8+ jobs :
9+ ci-linux :
10+ runs-on : ubuntu-20.04
11+ continue-on-error : ${{ matrix.experimental || false }}
12+ strategy :
13+ matrix :
14+ # All generated code should be running on stable now, MRSV is 1.42.0
15+ rust : [nightly, stable, 1.42.0]
16+
17+ include :
18+ # Nightly is only for reference and allowed to fail
19+ - rust : nightly
20+ experimental : true
21+
22+ steps :
23+ - uses : actions/checkout@v2
24+ - uses : actions-rs/toolchain@v1
25+ with :
26+ profile : minimal
27+ toolchain : ${{ matrix.rust }}
28+ override : true
29+ - name : Install all Rust targets for ${{ matrix.rust }}
30+ run : rustup target install --toolchain=${{ matrix.rust }} x86_64-unknown-linux-gnu riscv32imac-unknown-none-elf riscv64imac-unknown-none-elf riscv64gc-unknown-none-elf
31+ - name : Install riscv gcc
32+ run : apt-get update && apt-get install -y gcc-riscv64-unknown-elf
33+ - name : Run CI script for x86_64-unknown-linux-gnu under ${{ matrix.rust }}
34+ run : TARGET=x86_64-unknown-linux-gnu cargo check
35+ - name : Run CI script for riscv32imac-unknown-none-elf under ${{ matrix.rust }}
36+ run : TARGET=riscv32imac-unknown-none-elf cargo check
37+ - name : Run CI script for riscv64imac-unknown-none-elf under ${{ matrix.rust }}
38+ run : TARGET=riscv64imac-unknown-none-elf cargo check
39+ - name : Run CI script for riscv64gc-unknown-none-elf under ${{ matrix.rust }}
40+ run : TARGET=riscv64gc-unknown-none-elf cargo check
41+
42+ # On macOS and Windows, we at least make sure that all examples build and link.
43+ build-other :
44+ strategy :
45+ matrix :
46+ os :
47+ - macOS-latest
48+ - windows-latest
49+ runs-on : ${{ matrix.os }}
50+
51+ steps :
52+ - uses : actions/checkout@v2
53+ - uses : actions-rs/toolchain@v1
54+ with :
55+ profile : minimal
56+ toolchain : stable
57+ override : true
58+ - name : Build crate for host OS
59+ run : cargo build
0 commit comments