use github actions instead (#605)

* Create actions
This commit is contained in:
coco875
2024-04-13 02:54:59 +02:00
committed by GitHub
parent 2d3278d073
commit e2c19fd4bc
17 changed files with 227 additions and 19905 deletions
+47 -5
View File
@@ -5,10 +5,11 @@ import json
import csv
import os
import re
from pybadges import badge
# Script arguments.
parser = argparse.ArgumentParser(description="Computes current progress throughout the whole project.")
parser.add_argument("format", nargs="?", default="text", choices=["text", "verbose", "totalBadge", "gameBadge", "mainBadge", "endingBadge", "racingBadge", "audioBadge", "osBadge", "bytesToDecompile", "globalAsmFuncs", "m2cFuncs", "nonmatchingFuncs"])
parser.add_argument("format", nargs="?", default="text", choices=["text", "verbose", "totalBadge", "gameBadge", "mainBadge", "endingBadge", "racingBadge", "audioBadge", "osBadge", "bytesToDecompile", "globalAsmFuncs", "m2cFuncs", "nonmatchingFuncs", "badge"])
parser.add_argument("-d", "--debug", dest='debug', action='store_true',
help="Adds additional debug information, outputs files parsed and score for each file")
parser.add_argument("-n", "--nonmatching", dest='nonmatching', action='store_true',
@@ -24,7 +25,7 @@ def GetNonMatchingFunctions(files):
functions = []
for file in files:
with open(file) as f:
with open(file, encoding="utf-8") as f:
functions += re.findall(NON_MATCHING_FUNC_PATTERN, f.read(), re.DOTALL)
functions += re.findall(NON_MATCHING_PRAGMA_PATTERN, f.read(), re.DOTALL)
@@ -38,7 +39,7 @@ def CountMipsToCFunctions(files):
functions = []
for file in files:
with open(file) as f:
with open(file, encoding="utf-8") as f:
functions += re.findall(MIPS_TO_C_FUNC_PATTERN, f.read(), re.DOTALL)
return functions
@@ -51,7 +52,7 @@ def CountGlobalAsmFunctions(files):
functions = []
for file in files:
with open(file) as f:
with open(file, encoding="utf-8") as f:
functions += re.findall(GLOBAL_ASM_FUNC_PATTERN, f.read(), re.DOTALL)
return functions
@@ -65,7 +66,7 @@ def GetCFunctions(files):
functions = []
for file in files:
with open(file) as f:
with open(file, encoding="utf-8") as f:
source_code = f.read()
# Parse regex pattern
@@ -523,5 +524,46 @@ elif args.format == 'verbose':
print(str(segRacing) + "/" + str(seg_racing_size) + " bytes " + adjective + " in segRacing " + str(segRacingPct) + "%")
print(str(audio) + "/" + str(audio_size) + " bytes " + adjective + " in audio " + str(audioPct) + "%")
print(str(libultra) + "/" + str(libultra_size) + " bytes " + adjective + " in libultra " + str(libultraPct) + "%\n")
elif args.format == 'badge':
adjective = "decompiled" if args.nonmatching else "matched"
badge_size_left = badge(left_text="Size left", right_text=str(remaining_size), right_color="blue")
with open("docs/html/size_left.svg", "w") as f:
f.write(badge_size_left)
badge_total_size = badge(left_text="Total size", right_text=str(total_code_size), right_color="blue")
with open("docs/html/total_size.svg", "w") as f:
f.write(badge_total_size)
badge_total_pct = badge(left_text="Total progress", right_text=str(round(totalPct, 2))+"%", right_color="green")
with open("docs/html/total_progress.svg", "w") as f:
f.write(badge_total_pct)
badge_game_pct = badge(left_text="Game progress", right_text=str(round(gamePct, 2))+"%", right_color="green")
with open("docs/html/game_progress.svg", "w") as f:
f.write(badge_game_pct)
badge_asm_funcs = badge(left_text="ASM functions", right_text=str(TotalGlobalAsmFunctions), right_color="blue")
with open("docs/html/asm_funcs.svg", "w") as f:
f.write(badge_asm_funcs)
badge_nonmatching_funcs = badge(left_text="NON_MATCHING functions", right_text=str(TotalNonMatchingFunctions), right_color="blue")
with open("docs/html/nonmatching_funcs.svg", "w") as f:
f.write(badge_nonmatching_funcs)
badge_m2c_funcs = badge(left_text="MIPS_TO_C functions", right_text=str(TotalMipsToCFunctions), right_color="blue")
with open("docs/html/m2c_funcs.svg", "w") as f:
f.write(badge_m2c_funcs)
badge_seg_main = badge(left_text="Main progress", right_text=str(round(segMainPct, 2))+"%", right_color="green")
with open("docs/html/seg_main_progress.svg", "w") as f:
f.write(badge_seg_main)
badge_seg_ending = badge(left_text="Ending progress", right_text=str(round(segEndingPct, 2))+"%", right_color="green")
with open("docs/html/seg_ending_progress.svg", "w") as f:
f.write(badge_seg_ending)
badge_seg_racing = badge(left_text="Racing progress", right_text=str(round(segRacingPct, 2))+"%", right_color="green")
with open("docs/html/seg_racing_progress.svg", "w") as f:
f.write(badge_seg_racing)
badge_audio = badge(left_text="Audio progress", right_text=str(round(audioPct, 2))+"%", right_color="green")
with open("docs/html/audio_progress.svg", "w") as f:
f.write(badge_audio)
badge_libultra = badge(left_text="Libultra progress", right_text=str(round(libultraPct, 2))+"%", right_color="green")
with open("docs/html/libultra_progress.svg", "w") as f:
f.write(badge_libultra)
else:
print("Unknown format argument: " + args.format)