Files
Anghelo Carvajal 25843830a9 This time for real: Change the CI system from Jenkins to Github Actions (GHA) like we did for OoT and MM (#248)
* Changes the CI system from Jenkins to Github Actions (GHA) like we did for OoT and MM (#246)

I tried to adapt the original jenkinsfile as I could.
One major difference is loosing progress reporting to frogress. frogress is currently deprecated in favor of decomp.dev, and I would like we migrate to decomp.dev somewhat soon, so this should be a big problem.

The mapfiles will be uploaded as an GHA artifact to the Action workflow.

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).

Also relevant implementations for OoT and MM:
- https://github.com/zeldaret/oot/pull/2742
- https://github.com/zeldaret/mm/pull/1885

* Round of fixes (#247)

* Round of fixes

* Set WARNINGS_CHECK environment variable in CI

* Update .github/workflows/ci.yml

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

---------

Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com>
2026-08-06 19:12:28 -07:00

78 lines
2.1 KiB
Makefile

WARNINGS_CHECK ?= 0
UNAME_S := $(shell uname -s)
ifeq ($(OS),Windows_NT)
DETECTED_OS := windows
PIGMENT64_OS := x86_64-pc-windows-gnu
else ifeq ($(UNAME_S),Linux)
DETECTED_OS := linux
PIGMENT64_OS := x86_64-unknown-linux-musl
else ifeq ($(UNAME_S),Darwin)
DETECTED_OS := macos
PIGMENT64_OS := x86_64-apple-darwin
endif
WGET_FLAGS ?=
ifneq ($(WARNINGS_CHECK), 0)
WGET_FLAGS += --quiet
endif
IDO_RECOMP_VERSION := v1.2
PIGMENT64_VERSION := 0.6.3
IDO_5_3_DIR := ido/$(DETECTED_OS)/5.3
IDO_5_3 := $(IDO_5_3_DIR)/cc
IDO_7_1_DIR := ido/$(DETECTED_OS)/7.1
IDO_7_1 := $(IDO_7_1_DIR)/cc
PIGMENT64_DIR := pigment64
PIGMENT64 := $(PIGMENT64_DIR)/pigment64
all: $(IDO_5_3) $(IDO_7_1) $(PIGMENT64)
$(MAKE) -C fado
clean:
$(RM) -rf $(IDO_5_3_DIR) $(IDO_7_1_DIR)
distclean: clean
$(RM) -rf ido
$(RM) -rf tool_archives/archives/ido-5.3-recomp-$(DETECTED_OS).tar.gz
$(RM) -rf tool_archives/archives/ido-7.1-recomp-$(DETECTED_OS).tar.gz
$(RM) -rf tool_archives/archives/pigment64-$(PIGMENT64_OS).tar.gz
.PHONY: all clean distclean
tool_archives/archives/ido-5.3-recomp-$(DETECTED_OS).tar.gz:
mkdir -p $(@D)
wget $(WGET_FLAGS) https://github.com/decompals/ido-static-recomp/releases/download/$(IDO_RECOMP_VERSION)/ido-5.3-recomp-$(DETECTED_OS).tar.gz -O $@
$(IDO_5_3): tool_archives/archives/ido-5.3-recomp-$(DETECTED_OS).tar.gz | $(IDO_5_3_DIR)
tar xzf $< -C $(IDO_5_3_DIR)
tool_archives/archives/ido-7.1-recomp-$(DETECTED_OS).tar.gz:
mkdir -p $(@D)
wget $(WGET_FLAGS) https://github.com/decompals/ido-static-recomp/releases/download/$(IDO_RECOMP_VERSION)/ido-7.1-recomp-$(DETECTED_OS).tar.gz -O $@
$(IDO_7_1): tool_archives/archives/ido-7.1-recomp-$(DETECTED_OS).tar.gz | $(IDO_7_1_DIR)
tar xzf $< -C $(IDO_7_1_DIR)
tool_archives/archives/pigment64-$(PIGMENT64_OS).tar.gz:
mkdir -p $(@D)
wget $(WGET_FLAGS) https://github.com/decompals/pigment64/releases/download/$(PIGMENT64_VERSION)/pigment64-$(PIGMENT64_OS).tar.gz -O $@
$(PIGMENT64): tool_archives/archives/pigment64-$(PIGMENT64_OS).tar.gz | $(PIGMENT64_DIR)
tar xzf $< -C $(PIGMENT64_DIR)
$(IDO_5_3_DIR):
mkdir -p $@
$(IDO_7_1_DIR):
mkdir -p $@
$(PIGMENT64_DIR):
mkdir -p $@