gba 0.15.0

A crate for 'raw' style GBA development. If you want a 'managed' experience, try the `agb` crate instead.
Documentation
name: ci

on:
  - push
  - pull_request

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - { toolchain: nightly }
    steps:
      - uses: actions/checkout@v2

      - name: Install Apt Dependencies
        run: sudo apt-get update && sudo apt-get install binutils-arm-none-eabi libelf-dev

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust.toolchain }}
          default: true

      - name: Install Rust Source
        run: rustup component add rust-src

      - name: Build The Examples
        uses: actions-rs/cargo@v1
        with:
          toolchain: ${{ matrix.rust.toolchain }}
          command: build
          args: --examples

      - name: Check compilation succeeds when not on the GBA (check to prevent complaints about missing things)
        uses: actions-rs/cargo@v1
        with:
          toolchain: ${{ matrix.rust.toolchain }}
          command: check
          args: --no-default-features

      - name: Install mgba-test-runner
        uses: actions-rs/cargo@v1
        with:
          toolchain: ${{ matrix.rust.toolchain }}
          command: install
          # newer revisions don't build on aarch64, at least, because of a c_char mishap
          args: --git https://github.com/agbrs/agb --rev a7f9fdf01118a7a77d4dcf72f2b74a1961458b36 mgba-test-runner

      - name: Run unit tests
        uses: actions-rs/cargo@v1
        env:
          CARGO_TARGET_THUMBV4T_NONE_EABI_RUNNER: mgba-test-runner
        with:
          toolchain: ${{ matrix.rust.toolchain }}
          command: test
          args: --lib