name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    container: devkitpro/devkitarm

    steps:
      - uses: actions/checkout@v1

      - name: Fix apt sources
        run: |
          apt-get update
          apt-get -y install dirmngr
          echo 'deb http://us.archive.ubuntu.com/ubuntu/ bionic main' >> /etc/apt/sources.list
          apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
          apt-get update

      - name: Install and update packages
        run: |
          apt-get -y install python3 python3-pip p7zip-full libarchive13
          python3 --version
          python3 -m pip install --break-system-packages --upgrade pip setuptools
          python3 -m pip install --break-system-packages cryptography git+https://github.com/TuxSH/firmtool.git

      - name: Build Project
        run: make release -j$(nproc)

      - name: Prepare build artifact
        working-directory: release
        run: |
          ZIPNAME=$(ls GodMode9-*.zip)
          rm $ZIPNAME
          echo "OUTNAME=${ZIPNAME%.zip}" >> $GITHUB_ENV

      - uses: actions/upload-artifact@v4
        with:
          name: ${{ env.OUTNAME }}
          path: release/*
          if-no-files-found: error
