name: Rust on: push: branches: [master] pull_request: branches: [master] schedule: - cron: "10 6 * * *" env: CARGO_TERM_COLOR: always jobs: build: name: Just CI runs-on: ubuntu-22.04 steps: - name: Set CARGO_TARGET_DIR run: echo "CARGO_TARGET_DIR=$HOME/target" >> $GITHUB_ENV - name: Install build tools run: sudo apt-get update && sudo apt-get install build-essential libelf-dev zip -y - name: Install Miri run: | rustup toolchain install nightly --component miri rustup override set nightly cargo miri setup - uses: actions/checkout@v4 - name: Cache uses: actions/cache@v3 with: path: | ~/.cargo/registry ~/.cargo/git ~/target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: install mgba-test-runner run: cargo install --path emulator/test-runner --verbose - uses: extractions/setup-just@v1 - name: Setup mdBook uses: peaceiris/actions-mdbook@v1 with: mdbook-version: "0.4.13" - name: Build and test all crates run: just ci - name: Upload build artifacts uses: actions/upload-artifact@v3 with: name: example-games path: ~/target/*.gba