Skip to content

Commit

Permalink
Add CI
Browse files Browse the repository at this point in the history
  • Loading branch information
Mr-Wiseguy committed Sep 20, 2024
1 parent b7c49ae commit ba9db65
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Build

# Build on every branch push, tag push, and pull request change:
on: [push, pull_request_target]

jobs:
build_repo:
name: Build repo (${{ matrix.version }})
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
version: [us]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install package requirements
run: sudo apt-get install -y make git build-essential binutils-mips-linux-gnu gcc-mips-linux-gnu python3 python3-pip libfmt-dev libtoml11-dev

- name: Install Python dependencies
run: pip3 install -r tools/requirements.txt

- name: Install Splat dependencies
run: pip3 install -r tools/splat/requirements.txt

- name: Get extra dependencies
uses: actions/checkout@v3
with:
repository: ${{ secrets.SECRETREPO }}
token: ${{ secrets.SECRETTOKEN }}
path: deps_repo
- name: Get the dependency
run: cp deps_repo/baserom.${{ matrix.version }}.z64 baserom.${{ matrix.version }}.z64

- name: Setup
run: make setup -j $(nproc)

- name: Build Banjo-Tooie
run: make -j $(nproc)

- name: Print progress
run: python3 tools/progress.py --version ${{ matrix.version }}

- name: Upload frogress
if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request_target' }}
run: python3 tools/upload_frogress.py ${{ matrix.version }} --apikey ${{ secrets.PROGRESS_API_KEY }}

- name: Upload map
uses: actions/upload-artifact@v3
with:
name: banjotooie.${{ matrix.version }}.map
path: build/${{ matrix.version }}/banjotooie_decompressed.map
37 changes: 37 additions & 0 deletions tools/upload_frogress.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env python3

# Adapted from https://github.com/zeldaret/af/blob/main/tools/upload_frogress.py, original license is as follows:
# SPDX-FileCopyrightText: © 2023 ZeldaRET
# SPDX-License-Identifier: MIT

from __future__ import annotations

import argparse
import mapfile_parser
from pathlib import Path

import progress


BASE_URL = "https://progress.deco.mp"
PROJECT = "tooie"

def uploadProgressMain():
parser = argparse.ArgumentParser()
parser.add_argument("version", help="Version slug")
parser.add_argument("--apikey", help="API key")

args = parser.parse_args()

version: str = args.version
apikey: str = args.apikey
mapPath = Path("build") / args.version / "banjotooie_decompressed.map"

codeTotalStats, codeProgressPerFolder = progress.getProgress(mapPath, version)
codeEntries: dict[str, int] = mapfile_parser.frontends.upload_frogress.getFrogressEntriesFromStats(codeTotalStats, codeProgressPerFolder, verbose=True)

url = mapfile_parser.utils.generateFrogressEndpointUrl(BASE_URL, PROJECT, version)
mapfile_parser.frontends.upload_frogress.uploadEntriesToFrogress(codeEntries, "code", url, apikey=apikey, verbose=True)

if __name__ == '__main__':
uploadProgressMain()

0 comments on commit ba9db65

Please sign in to comment.