* 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).
* Remove duplicated step id
* Wire up compiler_archives machinery
* Remove extra quote
* Select bash as the default shell
* Fix asset extraction for WIP versions
* Properly fix the assets step this time
* fix assets building for jp
* Prevent running CI on forks
Incorporates the changes from https://github.com/zeldaret/oot/pull/2788
* Incorporate fix_bss tiebreaking algorithm from https://github.com/zeldaret/oot/pull/2779
* starting point
* add rabbitizer stuff, but commented out
* kinda works now, except for symbols
* trying to fix using symbols for disassembly
* more fixes
* fix branches and some format changes
* make disasm.py runnable again 😅
* fix double words
* hopefully fix jumptables
* fix delay slot spacing on entry.s
* Fix delay slot shenanigans
* minor format update
* re enable multithreading
* add rabbitizer to requirements.txt and cleanup the file
* cleanup
* more cleanup
* more cleanups
* getImmOverride
* black
* hopefully final cleanup
* diff.py requirements
* Install python dependencies on jenkinsfile
* --no-cache
* Remove `--no-cache --upgrade`
* branch_likely_delay_slot_save
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
* review
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
* a
* Don't use $FpcCsr
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>