diff --git a/.github/scripts/update-release-metadata/index.js b/.github/scripts/update-release-metadata/index.js index 83364e0..7c9d7fa 100644 --- a/.github/scripts/update-release-metadata/index.js +++ b/.github/scripts/update-release-metadata/index.js @@ -40,7 +40,7 @@ let tagToSearchFor = process.env.TAG_VALUE.split("refs/tags/")[1]; const { data: releaseData } = await octokit.rest.repos.getReleaseByTag({ owner: "open-goal", repo: "jak-project", - tag: tagToSearchFor + tag: tagToSearchFor, }); if (releaseData === undefined) { @@ -50,21 +50,24 @@ if (releaseData === undefined) { // TODO - no macOS yet const releaseMeta = { - "name": releaseData.tag_name, - "notes": "UPDATE", - "pub_date": releaseData.created_at, - "platforms": { - "linux": { - "signature": "", - "url": `https://github.com/open-goal/launcher/releases/download/${releaseData.tag_name}/opengoal-launcher-linux.AppImage.tar.gz` + name: releaseData.tag_name, + notes: "UPDATE", + pub_date: releaseData.created_at, + platforms: { + linux: { + signature: "", + url: `https://github.com/open-goal/launcher/releases/download/${releaseData.tag_name}/opengoal-launcher-linux.AppImage.tar.gz`, }, - "win64": { - "signature": "", - "url": `https://github.com/open-goal/launcher/releases/download/${releaseData.tag_name}/opengoal-launcher-windows.x64.msi.zip` - } - } -} + win64: { + signature: "", + url: `https://github.com/open-goal/launcher/releases/download/${releaseData.tag_name}/opengoal-launcher-windows.x64.msi.zip`, + }, + }, +}; -fs.writeFileSync("./.tauri/latest-release.json", JSON.stringify(releaseMeta, null, 2)); +fs.writeFileSync( + "./.tauri/latest-release.json", + JSON.stringify(releaseMeta, null, 2) +); // TODO - take the release out of draft when we are ready to actually publish! diff --git a/README.md b/README.md index 2f18ca1..91fc38d 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,16 @@ We are using Tauri to build a native app, but still with simple Web technology. - `npm run tauri dev` This builds the app with Tauri (this is a rust compilation, the first run will take a while) and the frontend is served via Vite -- a nice web server that will hot-reload any changes as you develop. + +## Release Process + +```mermaid +sequenceDiagram + jak-project->>jak-project: New tag is manually cut and built + jak-project->>launcher: Repository Dispatch to start release + launcher->>launcher: Alternatively, manually triggered release here + launcher->>launcher: Build App for all supported platforms + launcher->>launcher: Publish release and update latest release metadata file in repo + website->>GitHub API: Website will display latest release + app->>launcher: Detect new version and will prompt the user to update +```