name: Rust on: push: branches: [ master ] pull_request: branches: [ master ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-20.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 binutils-arm-none-eabi -y - name: Install mgba 0.9 run: | curl -L https://github.com/mgba-emu/mgba/releases/download/0.9.0/mGBA-0.9.0-ubuntu64-focal.tar.xz -o mgba.tar.xz && \ tar -xf mgba.tar.xz && \ sudo apt-get install libzip5 ./mGBA-0.9.0-ubuntu64-focal/libmgba.deb -y && \ rm -rf mgba.tar.xz mGBA-0.9.0-ubuntu64-focal - uses: actions/checkout@v2 - name: Cache uses: actions/cache@v2.1.1 with: path: | ~/.cargo/registry ~/.cargo/git ~/target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: install mgba-test-runner run: cargo install --path mgba-test-runner - name: Build agb library working-directory: agb run: cargo build --verbose - name: Run Clippy on agb working-directory: agb run: cargo clippy --verbose - name: Run Clippy on agb image converter working-directory: agb-image-converter run: cargo clippy --verbose - name: Run Tests for agb working-directory: agb run: cargo test --verbose