diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a1626c2cd..20b11bca3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @Willy-JL @Sil333033 +* @Willy-JL @Sil333033 @HaxSam @MatthewKuKanich diff --git a/.github/workflow_data/commit.sh b/.github/workflow_data/commit.sh deleted file mode 100644 index ddfe7040f..000000000 --- a/.github/workflow_data/commit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -export VERSION_TAG="$(python -c 'import fbt_options; print(fbt_options.DIST_SUFFIX, end="")')" -echo "VERSION_TAG=${VERSION_TAG}" >> $GITHUB_ENV diff --git a/.github/workflow_data/devbuild.py b/.github/workflow_data/devbuild.py index 2f00e8a87..d0660866b 100644 --- a/.github/workflow_data/devbuild.py +++ b/.github/workflow_data/devbuild.py @@ -1,31 +1,17 @@ #!/usr/bin/env python -import nextcloud_client import datetime as dt import requests import json import os -dev_share_id = "" -dev_share = os.environ["NC_HOST"] + f"s/{dev_share_id}/download?path=/&files={{files}}" +artifact_tgz = f"{os.environ['INDEXER_URL']}/firmware/dev/{os.environ['ARTIFACT_TAG']}.tgz" +artifact_sdk = f"{os.environ['INDEXER_URL']}/firmware/dev/{os.environ['ARTIFACT_TAG'].replace('update', 'sdk')}.zip" + if __name__ == "__main__": with open(os.environ["GITHUB_EVENT_PATH"], "r") as f: event = json.load(f) - client = nextcloud_client.Client(os.environ["NC_HOST"]) - client.login(os.environ["NC_USER"], os.environ["NC_PASS"]) - - for file in ( - os.environ["ARTIFACT_TGZ"], - os.environ["ARTIFACT_SDK"], - ): - path = f"MNTM-Dev/{file}" - # try: - # client.delete(path) - # except Exception: - # pass - client.put_file(path, file) - requests.post( os.environ["BUILD_WEBHOOK"], headers={"Accept": "application/json", "Content-Type": "application/json"}, @@ -33,10 +19,10 @@ if __name__ == "__main__": "content": None, "embeds": [ { - "title": "New Devbuild:", + "title": "New Devbuild!", "description": "", "url": "", - "color": 16734443, + "color": 16751147, "fields": [ { "name": "Changes since last commit:", @@ -44,21 +30,13 @@ if __name__ == "__main__": }, { "name": "Changes since last release:", - "value": f"[Compare release to {event['after'][:7]}]({event['compare'].rsplit('/', 1)[0] + '/main...' + event['after']})" + "value": f"[Compare release to {event['after'][:7]}]({event['compare'].rsplit('/', 1)[0] + '/release...' + event['after']})" }, { - "name": "Firmware download:", - "value": f"- [Download SDK for development]({dev_share.format(files=os.environ['ARTIFACT_SDK'])})\n- [Download Firmware TGZ]({dev_share.format(files=os.environ['ARTIFACT_TGZ'])})" + "name": "Download artifacts:", + "value": f"- [Download Firmware TGZ]({artifact_tgz})\n- [SDK (for development)]({artifact_sdk})" } ], - "author": { - "name": "Build Succeeded!", - # "icon_url": "" - }, - # "footer": { - # "text": "Build go brrrr", - # "icon_url": "" - # }, "timestamp": dt.datetime.utcnow().isoformat() } ], diff --git a/.github/workflow_data/package.sh b/.github/workflow_data/package.sh deleted file mode 100644 index 02fa15b48..000000000 --- a/.github/workflow_data/package.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -export ARTIFACT_DIR="${VERSION_TAG}" - -export ARTIFACT_TGZ="${VERSION_TAG}.tgz" -export ARTIFACT_ZIP="${VERSION_TAG}.zip" -export ARTIFACT_SDK="${VERSION_TAG}-sdk.zip" -cd dist/${DEFAULT_TARGET}-* -mv ${DEFAULT_TARGET}-update-* ${ARTIFACT_DIR} -tar --format=ustar -czvf ../../${ARTIFACT_TGZ} ${ARTIFACT_DIR} -cd ${ARTIFACT_DIR} -7z a ../../../${ARTIFACT_ZIP} . -cd .. -mv flipper-z-${DEFAULT_TARGET}-sdk-*.zip ../../${ARTIFACT_SDK} -cd ../.. - -echo "ARTIFACT_TGZ=${ARTIFACT_TGZ}" >> $GITHUB_ENV -echo "ARTIFACT_ZIP=${ARTIFACT_ZIP}" >> $GITHUB_ENV -echo "ARTIFACT_SDK=${ARTIFACT_SDK}" >> $GITHUB_ENV diff --git a/.github/workflow_data/release.md b/.github/workflow_data/release.md index 8402dd108..8a33c3aca 100644 --- a/.github/workflow_data/release.md +++ b/.github/workflow_data/release.md @@ -1,9 +1,9 @@ ## ⬇️ Download >### [🖥️ Web Updater (chrome)](https://momentum-fw.dev/update) [recommended] ->### [🐬 qFlipper Package (.tgz)](https://github.com/Next-Flip/Momentum-Firmware/releases/download/{VERSION_TAG}/{ARTIFACT_TGZ}) +>### [🐬 qFlipper Package (.tgz)](https://github.com/Next-Flip/Momentum-Firmware/releases/download/{VERSION_TAG}/flipper-z-f7-update-{VERSION_TAG}.tgz) ->### [📦 Zipped Archive (.zip)](https://github.com/Next-Flip/Momentum-Firmware/releases/download/{VERSION_TAG}/{ARTIFACT_ZIP}) +>### [📦 Zipped Archive (.zip)](https://github.com/Next-Flip/Momentum-Firmware/releases/download/{VERSION_TAG}/flipper-z-f7-update-{VERSION_TAG}.zip) **Check the [install guide](https://github.com/Next-Flip/Momentum-Firmware#install) if you're not sure, or [join our Discord](https://discord.gg/momentum) if you have questions or encounter issues!** diff --git a/.github/workflow_data/release.py b/.github/workflow_data/release.py index 77f236388..6c7b0fc76 100644 --- a/.github/workflow_data/release.py +++ b/.github/workflow_data/release.py @@ -1,20 +1,27 @@ #!/usr/bin/env python +import requests import json import os if __name__ == "__main__": + with open(os.environ["GITHUB_EVENT_PATH"], "r") as f: + event = json.load(f) + release = requests.get( + event["release"]["url"], + headers={ + "Accept": "application/vnd.github.v3+json", + "Authorization": f"token {os.environ['GITHUB_TOKEN']}" + } + ).json() + version_tag = release["tag_name"] + changelog = release["body"] + notes_path = '.github/workflow_data/release.md' - with open(os.environ['GITHUB_EVENT_PATH'], "r") as f: - changelog = json.load(f)['pull_request']['body'] with open(notes_path, "r") as f: template = f.read() notes = template.format( - ARTIFACT_TGZ=os.environ['ARTIFACT_TGZ'], - ARTIFACT_ZIP=os.environ['ARTIFACT_ZIP'], - VERSION_TAG=os.environ['VERSION_TAG'], + VERSION_TAG=version_tag, CHANGELOG=changelog ) with open(notes_path, "w") as f: f.write(notes) - with open(os.environ["ARTIFACT_TGZ"].removesuffix(".tgz") + ".md", "w") as f: - f.write(changelog.strip() + "\n\n") diff --git a/.github/workflow_data/version.sh b/.github/workflow_data/version.sh deleted file mode 100644 index 2e98c4b04..000000000 --- a/.github/workflow_data/version.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -export VERSION_TAG="$(python -c ''' -import datetime as dt -import json -import os -with open(os.environ["GITHUB_EVENT_PATH"], "r") as f: - event = json.load(f) -version = int(event["pull_request"]["title"].removeprefix("V").removesuffix(" Release") -date = dt.datetime.now().strftime("%d%m%Y") -print(f"MNTM-{version:03}_{date}", end="") -''')" -echo "VERSION_TAG=${VERSION_TAG}" >> $GITHUB_ENV diff --git a/.github/workflow_data/webhook.py b/.github/workflow_data/webhook.py index aca529c6c..fd0f984e4 100644 --- a/.github/workflow_data/webhook.py +++ b/.github/workflow_data/webhook.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +import datetime as dt import requests import json import sys @@ -41,97 +42,16 @@ if __name__ == "__main__": desc = desc.rsplit("\n", 1)[0] + f"\n+ {count - i} more commits" break url = event["compare"] - color = 16723712 if event["forced"] else 3669797 - - # case "pull_request": - # pr = event["pull_request"] - # url = pr["html_url"] - # branch = pr["base"]["ref"] + ( - # "" - # if pr["base"]["repo"]["full_name"] != pr["head"]["repo"]["full_name"] - # else f" <- {pr['head']['ref']}" - # ) - # name = pr["title"][:50] + ("..." if len(pr["title"]) > 50 else "") - # title = f"Pull Request {event['action'].title()} ({branch}): {name}" - # match event["action"]: - # case "opened": - # desc = (pr["body"][:2045] + "...") if len(pr["body"]) > 2048 else pr["body"] - # color = 3669797 - - # fields.append( - # { - # "name": "Changed Files:", - # "value": str(pr["changed_files"]), - # "inline": True, - # } - # ) - # fields.append( - # { - # "name": "Added:", - # "value": "+" + str(pr["additions"]), - # "inline": True, - # } - # ) - # fields.append( - # { - # "name": "Removed:", - # "value": "-" + str(pr["deletions"]), - # "inline": True, - # } - # ) - - # case "closed": - # color = 16723712 - # case "reopened": - # color = 16751872 - # case _: - # sys.exit(1) + color = 16723712 if event["forced"] else 11761899 case "release": - match event["action"]: - case "published": - webhook = "RELEASE_WEBHOOK" - color = 13845998 - title = f"New Release published: {event['name']}" - desc += f"Changelog:" - - changelog = "".join( - event["body"] - .split("Changelog")[1] - .split("