Discord matching progress inside CI (#64)

* Discord matching progress inside CI

* Readded frogress rule
This commit is contained in:
Lywx 2023-12-30 14:33:27 -06:00 committed by GitHub
parent 62a4a36804
commit d00cff570a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 1 deletions

View File

@ -45,3 +45,7 @@ jobs:
# - name: Upload frogress
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
# run: python3 tools/upload_frogress.py --apikey ${{ secrets.PROGRESS_API_KEY }}
- name: Upload progress to Discord
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
run: python3 tools/upload_progress.py --discord_url ${{ secrets.DISCORD_URL }}

View File

@ -8,4 +8,5 @@ colorama
pygfxd
n64img>=0.1.4
GitPython
colour
colour
requests

32
tools/upload_progress.py Normal file
View File

@ -0,0 +1,32 @@
from progress import *
import requests
import argparse
def main(args):
func_sizes, total_size = get_func_sizes()
all_funcs = set(func_sizes.keys())
nonmatching_funcs = get_nonmatching_funcs()
matching_funcs = all_funcs - nonmatching_funcs
matching_size, nonmatching_size = get_funcs_sizes(func_sizes, matching_funcs, nonmatching_funcs)
if len(all_funcs) == 0:
funcs_matching_ratio = 0.0
matching_ratio = 0.0
else:
funcs_matching_ratio = (len(matching_funcs) / len(all_funcs)) * 100
matching_ratio = (matching_size / total_size) * 100
content = {
"embeds": [{
"description": f"**{len(matching_funcs)}** matched functions / **{len(all_funcs)}** total (**{funcs_matching_ratio:.2f}%**)\n**{matching_size}** matching bytes / **{total_size}** total (**{matching_ratio:.2f}%**)"
}]
}
requests.post(args.discord_url, json=content)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Reports progress for the project on Discord")
parser.add_argument("--discord_url", help="Discord webhook URL", required=True)
args = parser.parse_args()
main(args)