Skip to content

bench: expand benchmark suite with payload scaling, FAT32, and overhe… #79

bench: expand benchmark suite with payload scaling, FAT32, and overhe…

bench: expand benchmark suite with payload scaling, FAT32, and overhe… #79

Workflow file for this run

name: Code
on:
push:
branches:
- '*'
- '!staging.tmp'
tags:
- '*'
schedule:
- cron: '40 3 * * *' # every day at 3:40
pull_request:
workflow_dispatch:
jobs:
check:
name: Check
strategy:
fail-fast: false
matrix:
platform: [
ubuntu-latest,
macos-latest,
windows-latest
]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install NASM (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y nasm
- name: Install NASM (macOS)
if: runner.os == 'macOS'
run: brew install nasm
- name: Install NASM (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
choco install nasm -y
echo "C:\Program Files\NASM" >> $env:GITHUB_PATH
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Run cargo check
run: cargo check
test:
name: Test
strategy:
fail-fast: false
matrix:
platform: [
ubuntu-latest,
macos-latest,
windows-latest
]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install NASM (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y nasm
- name: Install NASM (macOS)
if: runner.os == 'macOS'
run: brew install nasm
- name: Install NASM (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
choco install nasm -y
echo "C:\Program Files\NASM" >> $env:GITHUB_PATH
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src, llvm-tools-preview
- name: Install bootimage
run: cargo install bootimage --debug
- name: Install QEMU (Linux)
run: sudo apt-get update && sudo apt-get install -y qemu-system-x86
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 QEMU (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
choco install qemu -y
echo "C:\Program Files\qemu" >> $env:GITHUB_PATH
- name: Print QEMU Version
run: qemu-system-x86_64 --version
- name: Run cargo bootimage
run: cargo bootimage
- name: Run cargo test
run: cargo test
check_formatting:
name: Check Formatting
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Run cargo fmt
run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install NASM
run: sudo apt-get update && sudo apt-get install -y nasm
- name: Install Rust Toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy, rust-src
- name: Run cargo clippy
run: cargo clippy