ENG-1767 Setup Linear release for Obsidian - #1253
Conversation
Add a manual stable_obsidian_release.yaml workflow that publishes a stable Obsidian version and syncs/completes the matching Linear release. publish.ts now writes the resolved version back into local package.json/manifest.json (previously only the mirror-repo copy was updated, so the local version field was permanently stale) so the workflow's guard step has an accurate baseline to compare against. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
A new stable 1.5.2 release was just cut manually, so update the one-time baseline correction to match instead of the now-stale 1.5.1. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
packages/database/src/dbDotEnv.mjs unconditionally overrides SUPABASE_USE_DB to "implicit" (or "none") whenever running under GitHub Actions with GITHUB_TEST != "test", regardless of what the variable is set to. So SUPABASE_USE_DB=production was dead in CI. SUPABASE_URL/SUPABASE_PUBLISHABLE_KEY alone are enough to trigger the implicit-mode fallback, same as roam-release.yaml/roam-main.yaml. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Both steps contradicted the documented release process: README step 1 tells maintainers to bump package.json to the target version before dispatching, but the guard rejected exactly that state as "already released" (flagged independently by Devin and Graphite review). roam-release.yaml has no equivalent safeguard at all — it trusts package.json outright. Do the same here: devs are expected to pass a sane version, so drop both checks rather than patch the guard to special-case the pre-bumped state. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea8818f83c
ℹ️ 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".
- Rename stable_obsidian_release.yaml → obsidian-release.yaml (match kebab-case convention) - Use OBSIDIAN_LINEAR_RELEASE_KEY secret instead of reusing the Roam one - Pass inputs.version via VERSION env var; add anchored semver validation step - Update README release docs: remove incorrect manual version-bump step (workflow does it) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Skip release creation if a release for the tag already exists, so retrying after a transient Linear API failure doesn't abort at the duplicate-release 422. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
| git add apps/obsidian/package.json apps/obsidian/manifest.json | ||
| git commit -m "chore: release obsidian ${VERSION} [skip ci]" |
There was a problem hiding this comment.
@mdroidian I'm personally not sure if main can take a direct commit from yaml workflow. It seems like with L10, adding permission: content: write, would allow for this action. But want to confirm with you here
Summary
stable_obsidian_release.yamlworkflow (workflow_dispatch) that publishes an official stable Obsidian version viapublish.ts, then syncs and completes the matching Linear releasepublish.tsso it writes the resolved version back into the localapps/obsidian/package.json/manifest.json(previously only the mirror-repo copy was updated, so the local version field was permanently stale at0.1.0)package.json/manifest.jsonfrom stale0.1.0to1.5.2, matching the actual latest stable release in thediscourse-graph-obsidianmirror repoapps/obsidian/README.mdSupersedes closed PR #1074, which used an older 3-workflow design without the merge-time tracking piece. That piece is now split out to ENG-1994 (#1254, stacked on this PR).
Test plan
To test this workflow, I need to merge them first. Rationale:
GitHub only allows manually triggering a workflow_dispatch workflow once its file exists on the default branch (main) — per their docs: "This event will only trigger a workflow run if the workflow file exists on the default branch."
js-yamlparse check on the new workflow YAMLtsc --noEmitandeslintclean onpublish.tsstable_obsidian_release.yamlwith a real version matching an existing Linear release and confirm the GitHub release, mirror repo push, and Linear sync/complete all succeed