Repository navigation
Create versioned Windows/Linux releases and support macOS uploads - #112
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d2ad592ad3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| GH_TOKEN: ${{ github.token }} | ||
| run: | | ||
| set -euo pipefail | ||
| version="$(gh release list --repo "$GITHUB_REPOSITORY" --limit 1000 --json tagName --jq '.[].tagName' | grep -E '^v[0-9]+\\.[0-9]+\\.[0-9]+ |
There was a problem hiding this comment.
Restore valid YAML in the packaging workflow
The version command is truncated before its regex, quote, and command substitution are closed, so the following duplicated workflow steps are absorbed into the run scalar until the unindented pipe at line 105 makes the document invalid YAML. GitHub cannot load or dispatch Desktop packaging in this state, preventing any Windows/Linux release artifacts from being built.
Useful? React with 👍 / 👎.
| files=("$RUNNER_TEMP"/upload/*) | ||
| (("${#files[@]}" > 0)) || exit 1 | ||
| gh release upload "$RELEASE_TAG" "${files[@]}" --repo "$GH_REPO" | ||
| gh release create "$RELEASE_TAG" "${files[@]}" --repo "$GH_REPO" --target "${{ steps.resolve.outputs.run_sha }}" --title "deepLocal $RELEASE_TAG" --notes "Windows and Linux desktop installers. macOS packages can be added separately." |
There was a problem hiding this comment.
Keep the release unpublished until latest.json is uploaded
Whenever this workflow runs before the separate macOS uploader, this command publishes the new release without latest.json; because the desktop updater endpoint is releases/latest/download/latest.json, installed macOS clients receive a 404 until that later upload succeeds, or indefinitely if it never does. gh release create --help documents --draft as “Save the release as a draft instead of publishing it,” so the release should remain unpublished or include the updater metadata before becoming the latest release.
Useful? React with 👍 / 👎.
Changes
DEEPLOCAL_RELEASE_VERSION, while checking local HEAD matches the release tag.Usage
Desktop packagingmanually on the intended branch.Publish desktop releasemanually to create the versioned release.DEEPLOCAL_RELEASE_VERSION=vX.Y.Z ./scripts/upload-new-app.shwith the existing signing setup.Caveats