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 libelf-dev zip -y - uses: actions/checkout@v2 - name: Cache uses: actions/cache@v2.1.7 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 --verbose - name: Install gbafix run: cargo install gbafix - 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 Clippy on agb sound converter working-directory: agb-sound-converter run: cargo clippy --verbose - name: Run Clippy on agb macros working-directory: agb-macros run: cargo clippy --verbose - name: Run Tests for agb in debug mode working-directory: agb run: cargo test --verbose - name: Run Tests for agb in release mode working-directory: agb run: cargo test --verbose --release - name: Build example projects run: bash .github/scripts/build-example-gba-files.sh