Skip to content

Improve release workflow and switch from VSCode to Zed config#4

Open
adelrodriguez wants to merge 1 commit intomainfrom
02-26-improve_release_workflow_and_switch_from_vscode_to_zed_config
Open

Improve release workflow and switch from VSCode to Zed config#4
adelrodriguez wants to merge 1 commit intomainfrom
02-26-improve_release_workflow_and_switch_from_vscode_to_zed_config

Conversation

@adelrodriguez
Copy link
Owner

This pull request enhances the GitHub Actions release workflow and updates development tooling:

Release Workflow Improvements:

  • Added stricter trigger conditions to only run on successful workflow runs from the main branch
  • Moved Node.js setup to occur just before publishing for better security (limits exposure of npm auth material)
  • Added dependency caching for Bun to improve build performance
  • Updated checkout to use the specific commit SHA from the triggering workflow
  • Removed unnecessary HOME environment variable

Development Environment Changes:

  • Replaced VSCode configuration with Zed editor settings, configuring oxfmt formatter for multiple file types (CSS, HTML, JSON, JavaScript, TypeScript, etc.)
  • Updated all development dependencies to latest versions including oxfmt (0.34.0), oxlint (1.49.0), adamantite (0.29.1), and others

Code Quality Fix:

  • Fixed a potential logic error in formatMultiPrecision function where the condition !last || last.value !== 0 could incorrectly break when last is falsy, changed to last?.value !== 0

@adelrodriguez adelrodriguez marked this pull request as ready for review February 26, 2026 21:45
Copy link
Owner Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

Walkthrough

This PR updates the release workflow with stricter gates and reorganized steps, transitions editor configuration from VSCode to Zed, updates several devDependencies, expands ignore patterns in knip configuration, and refactors a trailing-zero truncation check in the formatting utility using optional chaining.

Changes

Cohort / File(s) Summary
Release Workflow
.github/workflows/release.yml
Enhanced release job gates with multiple conditions (workflow_run conclusion, event type, head_branch). Reorganized steps including relocated Setup Node.js, added dependency caching for Bun and node_modules, and removed HOME environment export from Changesets publish.
Editor Configuration
.vscode/settings.json, .zed/settings.json
Removed VSCode settings configuration and introduced new Zed editor settings with per-language formatting hooks, LSP/formatter configuration for oxfmt and oxlint, and type awareness settings.
Project Configuration
knip.json, package.json
Expanded ignore patterns in knip.json with duplicated entries for dist, build, and coverage directories. Updated devDependencies in package.json including @clack/prompts, @types/bun, adamantite, bunup, knip, oxfmt, and oxlint versions.
Code Refactoring
src/lib/format.ts
Refactored trailing-zero truncation logic in formatMultiPrecision to use optional chaining (last?.value !== 0) instead of logical OR check for safer undefined handling.

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: GitHub Actions release workflow improvements and migration from VSCode to Zed editor configuration.
Description check ✅ Passed The description is detailed and directly related to all changeset components: release workflow enhancements, development tooling migration, and code quality fixes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 02-26-improve_release_workflow_and_switch_from_vscode_to_zed_config

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
knip.json (1)

27-39: Deduplicate Knip ignore patterns.

These repeated entries are harmless but create unnecessary config churn and reduce readability.

Proposed cleanup
   "ignoreFiles": [
     "**/dist/**",
     "**/build/**",
     "**/coverage/**",
     "**/.next/**",
     "**/.vercel/**",
     "**/.turbo/**",
-    "**/.context/**",
-    "**/dist/**",
-    "**/build/**",
-    "**/coverage/**",
-    "**/.next/**",
-    "**/.vercel/**",
-    "**/.turbo/**"
+    "**/.context/**"
   ],
   "ignore": [
     "**/*.d.ts",
-    ".context/**",
-    "**/*.d.ts"
+    ".context/**"
   ],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@knip.json` around lines 27 - 39, The ignore lists in knip.json contain
duplicate glob entries (e.g., "**/*.d.ts" repeated and both ".context/**" and
"**/.context/**" present); update the "ignore" array to remove duplicates and
keep consistent glob forms (prefer "**/.context/**" vs ".context/**" and a
single "**/*.d.ts") so each pattern appears only once; edit the "ignore" key in
knip.json to deduplicate these strings while preserving the intended ignored
paths.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release.yml:
- Around line 21-24: The if condition in the release workflow contains an
unsatisfiable clause: "github.event.workflow_run.event == 'workflow_run'";
remove that clause from the "if:" expression (or, if you intended to ensure this
job only runs when the workflow is triggered by a workflow_run event, replace
that clause with "github.event_name == 'workflow_run'") so the final condition
checks the real values (e.g., github.event.workflow_run.conclusion == 'success'
&& github.event.workflow_run.head_branch == 'main' or include github.event_name
== 'workflow_run' as needed).

---

Nitpick comments:
In `@knip.json`:
- Around line 27-39: The ignore lists in knip.json contain duplicate glob
entries (e.g., "**/*.d.ts" repeated and both ".context/**" and "**/.context/**"
present); update the "ignore" array to remove duplicates and keep consistent
glob forms (prefer "**/.context/**" vs ".context/**" and a single "**/*.d.ts")
so each pattern appears only once; edit the "ignore" key in knip.json to
deduplicate these strings while preserving the intended ignored paths.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 93c1316 and ddc0e45.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • .github/workflows/release.yml
  • .vscode/settings.json
  • .zed/settings.json
  • knip.json
  • package.json
  • src/lib/format.ts
💤 Files with no reviewable changes (1)
  • .vscode/settings.json

Comment on lines +21 to +24
if: >-
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.event == 'workflow_run' &&
github.event.workflow_run.head_branch == 'main'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

GitHub Actions workflow_run event github.event.workflow_run.event what does it represent

💡 Result:

In a workflow triggered by on: workflow_run, github.event.workflow_run.event is the name of the GitHub event that triggered the upstream (triggering) workflow run—e.g. push, pull_request, schedule, workflow_dispatch, etc. You can see this event field on workflow run objects (example shows "event": "push"), and the REST API lets you filter workflow runs by that triggering event. [1]

This is not the same as the workflow_run trigger’s activity type (requested, in_progress, completed) used in on.workflow_run.types. [2]

Sources: [1] [3]
References:
[1] (docs.github.com)
[2] (docs.github.com)
[3] (docs.github.com)

Citations:


🏁 Script executed:

cat -n .github/workflows/release.yml | head -40

Repository: adelrodriguez/qte

Length of output: 1219


Remove unsatisfiable condition preventing releases.

At line 23, github.event.workflow_run.event == 'workflow_run' is incorrect. In GitHub Actions, github.event.workflow_run.event contains the name of the event that triggered the upstream workflow (e.g., push, pull_request), never 'workflow_run'. This condition will always fail and prevent this job from running for successful main builds.

Proposed fix
    if: >-
      github.event.workflow_run.conclusion == 'success' &&
-      github.event.workflow_run.event == 'workflow_run' &&
      github.event.workflow_run.head_branch == 'main'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if: >-
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.event == 'workflow_run' &&
github.event.workflow_run.head_branch == 'main'
if: >-
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.head_branch == 'main'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml around lines 21 - 24, The if condition in the
release workflow contains an unsatisfiable clause:
"github.event.workflow_run.event == 'workflow_run'"; remove that clause from the
"if:" expression (or, if you intended to ensure this job only runs when the
workflow is triggered by a workflow_run event, replace that clause with
"github.event_name == 'workflow_run'") so the final condition checks the real
values (e.g., github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.head_branch == 'main' or include github.event_name ==
'workflow_run' as needed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant