name: CI

on:
  push:
    branches:
      - master
  pull_request:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    container: devkitpro/devkitarm
    env:
      GAME_VERSION: FIRERED
      GAME_REVISION: 0
      GAME_LANGUAGE: ENGLISH
      MODERN: 1
      COMPARE: 0
      UNUSED_ERROR: 1
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Install binutils
        run: |
          sudo apt update
          sudo apt install -y build-essential libpng-dev libelf-dev
        # build-essential, git, and libpng-dev are already installed
        # gcc-arm-none-eabi is only needed for the modern build
        # as an alternative to dkP

      - name: Firered
        env:
          GAME_VERSION: FIRERED
          MODERN: 1
        run: make -j${nproc} -O all

      - name: Leafgreen
        env:
          GAME_VERSION: LEAFGREEN
          MODERN: 1
        run: make -j${nproc} -O all

      - name: Test
        env:
          MODERN: 1
          TEST: 1
        run: |
          make -j${nproc} -O pokefirered-test.elf
          make -j${nproc} check
