Migrate CI to Github Actions (#1884)

Changes the CI system from Jenkins to Github Actions (GHA) like we did for OoT

This is an adaptation of the Jenkinsfile we have and the solution made by @Dragorn421 for OoT

Relevant OoT PRs:
- https://github.com/zeldaret/oot/pull/2740
- https://github.com/zeldaret/oot/pull/2742
- https://github.com/zeldaret/oot/pull/2754

New features include:
- Not needing to selfhost a runner
  - Required private stuff for building is hosted on a private repo
- Building multiple versions in parallel
  - Our old jenkinsfile wasn't building `n64-jp-1.1`. Even if it doesn't match right now, I think it is important checking a PR doesn't completely break it.
- Run bss fixer in CI
- Upload mapfiles as build artifacts

This specific approach to handle GHA for decomp projects was adapted from the one used by the GC/Wii community. It is documented here https://github.com/encounter/dtk-template/blob/main/docs/github_actions.md There's a writeup about this adaptation for N64 projects [here](https://github.com/AngheloAlf/drmario64/pull/19).
This commit is contained in:
Anghelo Carvajal
2026-07-31 08:13:58 -04:00
committed by GitHub
parent a6850d2149
commit 5b705b1d7f
7 changed files with 301 additions and 113 deletions
@@ -0,0 +1,20 @@
inputs:
version:
required: true
runs:
using: composite
steps:
- name: Fix BSS
shell: sh
run: .venv/bin/python3 tools/fix_bss.py -v ${{ inputs.version }}
- name: Generate patch
shell: sh
run: git diff > fix_bss_${{ inputs.version }}.patch
- name: Upload patch
uses: actions/upload-artifact@v7
with:
name: fix_bss_${{ inputs.version }}.patch
path: fix_bss_${{ inputs.version }}.patch