More SA1 alignment #4167
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| pull_request_target: | |
| jobs: | |
| format: | |
| if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout PR | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} | |
| uses: actions/checkout@master | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| - name: Install tools | |
| run: | | |
| sudo apt update && sudo apt install clang-format-13 | |
| - name: Check formatting | |
| run: | | |
| make check_format | |
| build-gba: | |
| if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} | |
| runs-on: ubuntu-22.04 | |
| name: Build GBA (USA) | |
| steps: | |
| - name: Checkout PR | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} | |
| uses: actions/checkout@master | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| - name: Checkout gh-pages | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| with: | |
| path: gh-pages | |
| ref: gh-pages | |
| - name: Checkout agbcc | |
| uses: actions/checkout@master | |
| with: | |
| path: agbcc | |
| repository: SAT-R/agbcc | |
| - name: Install tools | |
| run: | | |
| sudo apt update && sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi | |
| python3 -m pip install gitpython | |
| - name: Install agbcc | |
| run: | | |
| ./build.sh | |
| ./install.sh ../ | |
| working-directory: agbcc | |
| - name: Compare | |
| run: make -j${nproc} | |
| - name: Progress | |
| run: | | |
| python3 scripts/progress.py text | |
| - name: Collect Rings Progress | |
| run: | | |
| cd multi_boot/roms/collect_rings && python3 ../../../scripts/progress.py -f collect_rings.map text | |
| - name: Chao Garden Progress | |
| run: | | |
| cd chao_garden && python3 ../scripts/progress.py -f mb_chao_garden.map text | |
| - name: Generate reports | |
| if: ${{ github.event_name == 'push' }} | |
| run: | | |
| mkdir -p gh-pages/reports | |
| mkdir -p gh-pages/maps | |
| python3 scripts/progress.py csv >> gh-pages/reports/progress-sa2-nonmatching.csv | |
| python3 scripts/progress.py csv -m >> gh-pages/reports/progress-sa2-matching.csv | |
| python3 scripts/progress.py shield-json > gh-pages/reports/progress-sa2-shield.json | |
| python3 scripts/progress.py shield-json -m > gh-pages/reports/progress-sa2-shield-matching.json | |
| echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV | |
| cp sa2.map gh-pages/maps/${GITHUB_SHA}.map | |
| - name: Generate reports (Collect Rings) | |
| if: ${{ github.event_name == 'push' }} | |
| run: | | |
| cd multi_boot/roms/collect_rings | |
| python3 ../../../scripts/progress.py csv -f collect_rings.map >> ../../../gh-pages/reports/progress-collect_rings-nonmatching.csv | |
| python3 ../../../scripts/progress.py csv -m -f collect_rings.map >> ../../../gh-pages/reports/progress-collect_rings-matching.csv | |
| python3 ../../../scripts/progress.py shield-json -f collect_rings.map > ../../../gh-pages/reports/progress-collect_rings-shield.json | |
| python3 ../../../scripts/progress.py shield-json -m -f collect_rings.map > ../../../gh-pages/reports/progress-collect_rings-shield-matching.json | |
| - name: Generate reports (Chao Garden) | |
| if: ${{ github.event_name == 'push' }} | |
| run: | | |
| cd chao_garden | |
| python3 ../scripts/progress.py csv -f mb_chao_garden.map >> ../gh-pages/reports/progress-mb_chao_garden-nonmatching.csv | |
| python3 ../scripts/progress.py csv -m -f mb_chao_garden.map >> ../gh-pages/reports/progress-mb_chao_garden-matching.csv | |
| python3 ../scripts/progress.py shield-json -f mb_chao_garden.map > ../gh-pages/reports/progress-mb_chao_garden-shield.json | |
| python3 ../scripts/progress.py shield-json -m -f mb_chao_garden.map > ../gh-pages/reports/progress-mb_chao_garden-shield-matching.json | |
| - name: Update reports | |
| if: ${{ github.event_name == 'push' }} | |
| uses: EndBug/add-and-commit@v7 | |
| with: | |
| branch: gh-pages | |
| cwd: "./gh-pages" | |
| add: "reports maps" | |
| message: ${{ env.REPORTS_COMMIT_MSG }} | |
| build-gba-variants: | |
| if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} | |
| runs-on: ubuntu-22.04 | |
| name: Build GBA (${{ matrix.variant }}) | |
| strategy: | |
| matrix: | |
| variant: ["europe", "japan", "japan_vc", "usa_beta"] | |
| steps: | |
| - name: Checkout PR | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} | |
| uses: actions/checkout@master | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| - name: Checkout gh-pages | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| with: | |
| path: gh-pages | |
| ref: gh-pages | |
| - name: Checkout agbcc | |
| uses: actions/checkout@master | |
| with: | |
| path: agbcc | |
| repository: SAT-R/agbcc | |
| - name: Install tools | |
| run: | | |
| sudo apt update && sudo apt install binutils-arm-none-eabi gcc-arm-none-eabi | |
| - name: Install agbcc | |
| run: | | |
| ./build.sh | |
| ./install.sh ../ | |
| working-directory: agbcc | |
| - name: Compare | |
| run: make ${{ matrix.variant }} -j${nproc} | |
| ports: | |
| strategy: | |
| matrix: | |
| platform: ["sdl", "sdl_win32", "win32"] | |
| os: ["ubuntu-22.04", "macos-15"] | |
| if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} | |
| runs-on: ${{ matrix.os }} | |
| name: Build ${{ matrix.platform }} (${{ matrix.os }}) | |
| steps: | |
| - name: Checkout PR | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} | |
| uses: actions/checkout@master | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| - name: Install tools (Linux) | |
| if: ${{ matrix.os == 'ubuntu-22.04' }} | |
| run: | | |
| sudo apt update && sudo apt install xorg-dev libsdl2-dev gcc-mingw-w64 libarchive-tools | |
| - name: Install Tools (Macos) | |
| if: ${{ matrix.os == 'macos-15' }} | |
| run: | | |
| brew install libpng sdl2 mingw-w64 arm-none-eabi-gcc | |
| - name: Install SDL for win32 | |
| if: ${{ matrix.platform == 'sdl_win32' }} | |
| run: | | |
| make SDL2.dll | |
| - name: ${{ matrix.platform }} | |
| run: | | |
| make -j${nproc} ${{ matrix.platform }} | |
| test: | |
| strategy: | |
| matrix: | |
| platform: ["sdl"] | |
| if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} | |
| runs-on: ubuntu-22.04 | |
| name: TAS Test ${{ matrix.platform }} | |
| steps: | |
| - name: Checkout PR | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} | |
| uses: actions/checkout@master | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| - name: Install tools | |
| run: | | |
| sudo apt update && sudo apt install xorg-dev libsdl2-dev gcc-mingw-w64 libarchive-tools | |
| - name: Install SDL for win32 | |
| if: ${{ matrix.platform == 'sdl_win32' }} | |
| run: | | |
| make SDL2.dll | |
| - name: Build ${{ matrix.platform }} | |
| run: | | |
| make -j${nproc} ${{ matrix.platform }} TAS_TESTING=1 | |
| - name: Run TAS | |
| timeout-minutes: 1 | |
| env: | |
| HEADLESS: true | |
| run: | | |
| ./sa2.${{ matrix.platform }} | |
| level_editor: | |
| if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} | |
| runs-on: ubuntu-22.04 | |
| name: Level editor (BriBaSA) | |
| steps: | |
| - name: Checkout PR | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} | |
| uses: actions/checkout@master | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout | |
| if: ${{ github.event_name == 'push' }} | |
| uses: actions/checkout@master | |
| - name: Install deps | |
| run: | | |
| sudo apt update && sudo apt install xorg-dev libsdl2-dev | |
| - name: Build | |
| run: | | |
| make -j${nproc} bribasa |