Skip to content

Create workflow for CI builds #2

Create workflow for CI builds

Create workflow for CI builds #2

Workflow file for this run

name: Build
on:
push:
pull_request:
jobs:
build:
container: ghcr.io/hackern64/hackerbuild:main
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- TARGET: "Debug, No F3DEX3"
MAKE_VARS: RELEASE=0 CPP_DEFINES=-DENABLE_F3DEX3=0
- TARGET: "Debug, F3DEX3"
MAKE_VARS: RELEASE=0 CPP_DEFINES=-DENABLE_F3DEX3=1
- TARGET: "Release, No F3DEX3"
MAKE_VARS: RELEASE=1 CPP_DEFINES=-DENABLE_F3DEX3=0
- TARGET: "Release, F3DEX3"
MAKE_VARS: RELEASE=1 CPP_DEFINES=-DENABLE_F3DEX3=1
defaults:
run:
shell: bash
steps:
# Checkout the repository (shallow clone)
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
# Set Git config
- name: Git config
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
# Copy the original files to the workspace
- name: Prepare
run: cp -R /HackerOoT/baseroms .
# Install the required pip packages
- name: Setup Python
run: |
python3 -m pip install --user colorama ansiwrap attrs watchdog python-Levenshtein "mapfile-parser>=1.2.1,<2.0.0" "rabbitizer>=1.0.0,<2.0.0"
python3 -m pip install --upgrade attrs pycparser
# Setup the project
- name: Setup
run: make setup -j$(nproc)
# Build the project
- name: Build (${{ matrix.TARGET }})
run: ${{ matrix.MAKE_VARS }} make -j$(nproc)