From d4fc05d9cc03944ca7918439c8f5dfab50471339 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Thu, 9 Dec 2021 05:24:45 +0000 Subject: [PATCH 1/5] Update progress script with new csv format, text mode, etc. --- progress.py | 54 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 13 deletions(-) mode change 100644 => 100755 progress.py diff --git a/progress.py b/progress.py old mode 100644 new mode 100755 index 512dc31a..141fbc30 --- a/progress.py +++ b/progress.py @@ -1,4 +1,7 @@ +#!/usr/bin/env python3 + import argparse +import json import git import os import re @@ -80,9 +83,13 @@ def parse_map(non_matching_funcs): def main(): parser = argparse.ArgumentParser() - parser.add_argument('-m', '--matching', dest='matching', action='store_true', - help='Output matching progress instead of decompilation progress') + + parser = argparse.ArgumentParser(description="Computes current progress throughout the whole project.") + parser.add_argument("format", nargs="?", default="text", choices=["text", "csv", "shield-json"]) + parser.add_argument("-m", "--matching", dest='matching', action='store_true', + help="Output matching progress instead of decompilation progress") args = parser.parse_args() + matching = args.matching non_matching_funcs = [] @@ -101,21 +108,42 @@ def main(): total = src + asm data_total = src_data + data - src_pct = '%.4f' % (100 * src / total) - asm_pct = '%.4f' % (100 * asm / total) + src_percent = 100 * src / total + asm_percent = 100 * asm / total - src_data_pct = '%.4f' % (100 * src_data / data_total) - data_pct = '%.4f' % (100 * data / data_total) + src_data_percent = 100 * src_data / data_total + data_percent = 100 * data / data_total - version = 1 - git_object = git.Repo().head.object - timestamp = str(git_object.committed_date) - git_hash = git_object.hexsha - csv_list = [str(version), timestamp, git_hash, str(src_pct), - str(asm_pct), str(src_data_pct), str(data_pct)] + if args.format == 'csv': + version = 2 + git_object = git.Repo().head.object + timestamp = str(git_object.committed_date) + git_hash = git_object.hexsha - print(','.join(csv_list)) + csv_list = [str(version), timestamp, git_hash, str(src), + str(total), str(src_data), str(data_total)] + + print(','.join(csv_list)) + + elif args.format == 'shield-json': + # https://shields.io/endpoint + print(json.dumps({ + "schemaVersion": 1, + "label": "progress", + "message": f"{src_percent:.3g}%", + "color": 'yellow', + })) + + elif args.format == 'text': + adjective = "decompiled" if not args.matching else "matched" + + print("src: {:>9} / {:>8} total bytes {:<10} {:>9.4f}%".format(src, total, adjective, round(src_percent, 4))) + # print() + print("data: {:>9} / {:>8} total bytes analysed {:>9.4f}%".format(src_data, data_total, round(src_data_percent, 4))) + + else: + print("Unknown format argument: " + args.format) if __name__ == '__main__': From 64f36f47400598ed8482513fab8ae54e8c0e1f77 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Thu, 9 Dec 2021 05:26:41 +0000 Subject: [PATCH 2/5] Update Jenkinsfile --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a01f6b2d..93efaa65 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,8 +26,8 @@ pipeline { } steps { sh 'mkdir reports' - sh 'python3 progress.py >> reports/progress_tmc.csv' - sh 'python3 progress.py -m >> reports/progress_tmc_matching.csv' + sh 'python3 progress.py csv >> reports/progress_tmc.csv' + sh 'python3 progress.py csv -m >> reports/progress_tmc_matching.csv' stash includes: 'reports/*', name: 'reports' } } From 75b0db1b84712e908a058865e1c09ca5214d9ecb Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 07:45:19 +0000 Subject: [PATCH 3/5] Update Jenkinsfile destinations --- Jenkinsfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 93efaa65..66549a57 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,8 +26,9 @@ pipeline { } steps { sh 'mkdir reports' - sh 'python3 progress.py csv >> reports/progress_tmc.csv' - sh 'python3 progress.py csv -m >> reports/progress_tmc_matching.csv' + sh 'python3 progress.py csv >> reports/progress-tmc-nonmatching.csv' + sh 'python3 progress.py csv -m >> reports/progress-tmc-matching.csv' + sh 'python3 progress.py shield-json > reports/progress-tmc-shield.json' stash includes: 'reports/*', name: 'reports' } } @@ -40,8 +41,9 @@ pipeline { } steps { unstash 'reports' - sh 'cat reports/progress_tmc.csv >> /var/www/html/reports/progress_tmc.csv' - sh 'cat reports/progress_tmc_matching.csv >> /var/www/html/reports/progress_tmc_matching.csv' + sh 'cat reports/progress-tmc-nonmatching.csv >> /var/www/zelda64.dev/assets/csv/progress-tmc-nonmatching.csv' + sh 'cat reports/progress-tmc-matching.csv >> /var/www/zelda64.dev/assets/csv/progress-tmc-matching.csv' + sh 'cat reports/progress-tmc-shield.json > /var/www/zelda64.dev/assets/csv/progress-tmc-shield.json' } } } From 26d404235c47b9cbc39c5ca5583130f5e7aaa64b Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 07:45:33 +0000 Subject: [PATCH 4/5] Add shields to README.md --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b3e1a88..0665215a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,19 @@ # The Legend of Zelda: The Minish Cap -**Progress:** [⬛⬛⬛⬛⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 45% + +[![Build Status][jenkins-badge]][jenkins] [![Decompilation Progress][progress-badge]][progress] [![Contributors][contributors-badge]][contributors] [![Discord Channel][discord-badge]][discord] + +[jenkins]: https://jenkins.deco.mp/job/TMC/job/master +[jenkins-badge]: https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins.deco.mp%2Fjob%2FTMC%2Fjob%2Fmaster + +[progress]: https://zelda64.dev/games/tmc +[progress-badge]: https://img.shields.io/endpoint?url=https://zelda64.dev/assets/csv/progress-mm-shield.json + +[contributors]: https://github.com/zeldaret/tmc/graphs/contributors +[contributors-badge]: https://img.shields.io/github/contributors/zeldaret/tmc + +[discord]: https://discord.zelda64.dev +[discord-badge]: https://img.shields.io/discord/688807550715560050?color=%237289DA&logo=discord&logoColor=%23FFFFFF ```diff - WARNING! - From 78bc78fe3cbbbe5df21539b03664d873550753f1 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 07:48:54 +0000 Subject: [PATCH 5/5] Fix shield --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0665215a..5663c817 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [jenkins-badge]: https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins.deco.mp%2Fjob%2FTMC%2Fjob%2Fmaster [progress]: https://zelda64.dev/games/tmc -[progress-badge]: https://img.shields.io/endpoint?url=https://zelda64.dev/assets/csv/progress-mm-shield.json +[progress-badge]: https://img.shields.io/endpoint?url=https://zelda64.dev/assets/csv/progress-tmc-shield.json [contributors]: https://github.com/zeldaret/tmc/graphs/contributors [contributors-badge]: https://img.shields.io/github/contributors/zeldaret/tmc