CI #178
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 0 * * 0' # Ensure job runs weekly to test nightly/beta/stable | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: ./build-all.sh | |
- name: Archive lm3s6965 image | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lm3s6965-image-pinned | |
path: | | |
target/thumbv7m-none-eabi/debug/lilos-testsuite-lm3s6965 | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: ./doc-all.sh | |
test_qemu: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
- name: Install qemu tool | |
run: | | |
sudo apt-get update | |
sudo apt-get install qemu-system-arm | |
- run: > | |
qemu-system-arm | |
-cpu cortex-m3 | |
-machine lm3s6965evb | |
-nographic | |
-semihosting-config enable=on,target=native | |
-kernel lm3s6965-image-pinned/lilos-testsuite-lm3s6965 | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: ./clippy-all.sh | |
build_future: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- nightly | |
- beta | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rm rust-toolchain.toml | |
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} && rustup target add thumbv7em-none-eabihf thumbv7m-none-eabi thumbv6m-none-eabi | |
- run: ./build-all.sh | |
- name: Archive lm3s6965 image | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lm3s6965-image-${{ matrix.toolchain }} | |
path: | | |
target/thumbv7m-none-eabi/debug/lilos-testsuite-lm3s6965 | |
test_qemu_future: | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- nightly | |
- beta | |
needs: build_future | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
- name: Install qemu tool | |
run: | | |
sudo apt-get update | |
sudo apt-get install qemu-system-arm | |
- run: > | |
qemu-system-arm | |
-cpu cortex-m3 | |
-machine lm3s6965evb | |
-nographic | |
-semihosting-config enable=on,target=native | |
-kernel lm3s6965-image-${{ matrix.toolchain }}/lilos-testsuite-lm3s6965 | |
clippy_future: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- nightly | |
- beta | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rm rust-toolchain.toml | |
- run: rustup update ${{ matrix.toolchain}} && rustup default ${{ matrix.toolchain }} && rustup target add thumbv7em-none-eabihf thumbv7m-none-eabi thumbv6m-none-eabi && rustup component add clippy | |
- run: ./clippy-all.sh | |
check_msrv_all: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up cargo cache | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-cargo- | |
- run: ./msrv-all.sh |