build(deps): bump clap from 4.5.19 to 4.5.21 #540
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: Build | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
jobs: | |
check_formatting: | |
name: "Check Formatting" | |
runs-on: ubuntu-latest | |
timeout-minutes: 2 | |
steps: | |
- uses: actions/checkout@v1 | |
- run: rustup toolchain install nightly --profile minimal --component rustfmt | |
- run: cargo +nightly fmt -- --check | |
clippy: | |
name: "Clippy" | |
needs: check_formatting | |
strategy: | |
matrix: | |
features: [ | |
"", | |
"noserial", | |
"qemu", | |
"noserial,qemu", | |
"jtag", | |
"noserial,jtag", | |
# jtag and qemu together don't make much sense | |
] | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v1 | |
- run: sudo apt update | |
- run: sudo apt install libudev-dev | |
- run: rustup toolchain install nightly | |
- run: cargo install cargo-make | |
- run: env CLIPPY_FEATURES=${{ matrix.features }} cargo make clippy | |
test: | |
name: Test | |
needs: clippy | |
strategy: | |
matrix: | |
platform: [ | |
ubuntu-latest, | |
macos-latest, | |
windows-latest | |
] | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout Repository" | |
uses: actions/checkout@v1 | |
- name: Install Rustup (macOS) | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
if: runner.os == 'macOS' | |
- name: Set Rustup profile to minimal | |
run: rustup set profile minimal | |
- name: "Switch to Rust nightly" | |
run: rustup default nightly | |
- name: "Print Rust Version" | |
run: | | |
rustc -Vv | |
cargo -Vv | |
- name: "Install build tools" | |
run: cargo install cargo-make cargo-binutils | |
- name: "Install dev libraries (Linux)" | |
run: sudo apt install libudev-dev | |
if: runner.os == 'Linux' | |
- name: "Validate rust-lld" | |
run: | | |
which rust-lld || echo "Not found" | |
otool -L ~/.cargo/bin/rust-lld | |
if: runner.os == 'macOS' | |
- name: "Print Tools Version" | |
run: | | |
cargo make --version | |
cargo objcopy --version | |
- name: "Deny Warnings" | |
run: cargo make build | |
env: | |
RUSTFLAGS: "-D warnings" | |
- name: Install QEMU (Linux) | |
run: | | |
sudo apt-get update | |
sudo apt-get install --fix-missing qemu-system-aarch64 | |
if: runner.os == 'Linux' | |
- name: Install QEMU (macOS) | |
run: brew install qemu | |
if: runner.os == 'macOS' | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: 1 | |
HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: 1 | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
- name: Install Scoop (Windows) | |
run: | | |
iwr -useb get.scoop.sh -outfile 'install.ps1' | |
.\install.ps1 -RunAsAdmin | |
echo "$HOME\scoop\shims" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
if: runner.os == 'Windows' | |
shell: pwsh | |
- name: Add custom Scoop bucket for QEMU (Windows) | |
run: | | |
scoop bucket add scoop-for-ci https://github.com/metta-systems/scoop-for-ci | |
if: runner.os == 'Windows' | |
shell: pwsh | |
- name: Install QEMU (Windows) | |
run: scoop install qemu-810 | |
if: runner.os == 'Windows' | |
shell: pwsh | |
- name: "Print QEMU Version" | |
run: qemu-system-aarch64 --version | |
- name: 'Build kernel' | |
run: cargo make build | |
- name: 'Run tests' | |
run: cargo make test |