Skip to content

build(deps): bump argh from 0.1.13 to 0.1.14 #684

build(deps): bump argh from 0.1.13 to 0.1.14

build(deps): bump argh from 0.1.13 to 0.1.14 #684

Workflow file for this run

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
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: cargo +nightly fmt -- --check
clippy:
name: "Clippy"
needs: check_formatting
strategy:
fail-fast: false
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
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""
- run: cargo install cargo-make # TODO cache this tool
- run: env CLIPPY_FEATURES=${{ matrix.features }} cargo make clippy
test:
name: Test
needs: check_formatting
strategy:
fail-fast: false
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 nightly Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""
- name: "Print Rust Version"
run: |
rustc -Vv
cargo -Vv
- name: "Install build tools"
run: cargo install cargo-make cargo-binutils # TODO cache these tools
- name: "Validate rust-lld"
if: runner.os == 'macOS'
run: |
which rust-lld || echo "Not found"
otool -L ~/.cargo/bin/rust-lld
- 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)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install --fix-missing qemu-system-aarch64
- name: Install QEMU (macOS)
if: runner.os == 'macOS'
run: brew install qemu
env:
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
- name: Install Scoop (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Invoke-WebRequest -UseBasicParsing get.scoop.sh -outfile 'install.ps1'
.\install.ps1 -RunAsAdmin
echo "$HOME\scoop\shims" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Add custom Scoop bucket for QEMU (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
scoop bucket add scoop-for-ci https://github.com/metta-systems/scoop-for-ci
- name: Install QEMU (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: scoop install qemu-1010
- name: "Print QEMU Version"
run: qemu-system-aarch64 --version
- name: "Build kernel"
run: cargo make build
- name: "Run tests"
run: cargo make test