Skip to content

build: revert the ghostty pin to the published v0.7.5 zip - #1036

Merged
dappermint merged 1 commit into
OmniNull:mainfrom
dappermint:ci/revert-ghostty-pin
Oct 29, 2026
Merged

dappermint merged 1 commit into
OmniNull:mainfrom
dappermint:ci/revert-ghostty-pin

Conversation

@dappermint

@dappermint dappermint commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Fixes #1035 (stopgap, option 3).

fff86656 pinned Scripts/dev-tools.env to the v0.8.0 GhosttyKit zip, which isn't published, so main has been red since 5fd53ed0. This reverts the pin to the v0.7.5 zip. Checked that every ghostty_* symbol in Sources exists in the v0.7.5 kit's ghostty.h, so no code change is needed.

The 0.8.0 prepare run writes the real pin when the release is cut. Note this also unblocks that run: with the hand-pinned URL package_ghostty takes the verify_ghostty_dependency path and 404s too.

  • python3 Scripts/check-pinned-downloads.py passes
  • Tests/DevToolingTests/test_release.py: 34 tests OK

Summary by CodeRabbit

  • Chores
    • Updated the Ghostty development-tooling configuration to use release v0.7.5, including its associated source revision, archive checksum, and Zig 0.16.0 version.
    • Refreshed the Ghostty archive metadata checksum and updated the source-build fixture to match the Zig version pin.

fff8665 pinned dev-tools.env to the v0.8.0 GhosttyKit zip, but there is
no v0.8.0 release yet, so the download 404s. that leaves main red
(check-pins, the nix fetch in Tests and Verify) and also breaks a 0.8.0
`prepare` run, which sees the pin already matching the version and goes
down verify_ghostty_dependency instead of building the kit.

back to the v0.7.5 zip, which is published and already has every
ghostty_* symbol Sources uses. the 0.8.0 prepare run writes the real pin
when the release is cut.

Refs: OmniNull#1035
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: bbd07ab0-eb41-4515-83a2-ee04dab6724e
Commits

Reviewing files that changed from the base of the PR and between 8bf4574 and 02117cb.

Files selected for processing: 3
  • Scripts/build-metadata.env
  • Scripts/dev-tools.env
  • Tests/DevToolingTests/test_release.py

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

Walkthrough

The GhosttyKit configuration now points to v0.7.5, with its corresponding archive checksum, source commit, and Zig version. The archive metadata digest and release-test Zig version expectations were updated.

Changes: GhosttyKit pin

Layer / File(s) Summary
GhosttyKit pin and test expectations
Scripts/dev-tools.env, Scripts/build-metadata.env, Tests/DevToolingTests/test_release.py
The development-tool configuration now uses GhosttyKit v0.7.5 and Zig 0.16.0. The archive metadata digest and test expectations were updated.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix · Severity of issue fixed: Medium

Possibly related issues

  • Issue 1035 — The issue reports that the v0.8.0 archive URL returns 404; this change points the configuration to v0.7.5.

Possibly related PRs

  • OmniNull/OmniWM#929 — This PR makes flake.nix read GhosttyKit pins from Scripts/dev-tools.env, which this change updates.
  • OmniNull/OmniWM#1019 — This PR adds a checker for unavailable download URLs; this change replaces the reported v0.8.0 URL.
  • OmniNull/OmniWM#1021 — This PR runs the pinned-download checker through hooks and CI, which use the updated GhosttyKit URL.

Suggested reviewers: barutsrb

Merge Risk: Minimal · up to 02117

The rollback restores the published v0.7.5 pin while preserving checksum verification. No actionable merge-blocking issue remains, subject to normal setup and CI checks.

Pre-merge checks: Passed 4 · Failed 1

Failed 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%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title "build: revert the ghostty pin to the published v0.7.5 zip" matches the main change. The PR reverts the GhosttyKit pin in Scripts/dev-tools.env from the unpublished v0.8.0 zip to the publish…
Description check Passed The description follows the repository template in substance. It states the problem (main is red because the pinned v0.8.0 zip is unpublished, with a link to issue #1035) and the result (the pin rever…
Linked Issues check Passed The changes satisfy issue #1035. Scripts/dev-tools.env now uses the published v0.7.5 GhosttyKit URL and matching ZIP, source-commit, and Zig-version pins. Scripts/build-metadata.env updates the …
Out of Scope Changes check Passed All changed files support issue #1035. The checksum and provenance updates are required when the GhosttyKit pin changes. The test updates keep release validation aligned with the selected v0.7.5 kit…
Full details: Title check

Explanation

The title "build: revert the ghostty pin to the published v0.7.5 zip" matches the main change. The PR reverts the GhosttyKit pin in Scripts/dev-tools.env from the unpublished v0.8.0 zip to the published v0.7.5 zip, and the title names both the revert and the target version.

Full details: Description check

Explanation

The description follows the repository template in substance. It states the problem (main is red because the pinned v0.8.0 zip is unpublished, with a link to issue #1035) and the result (the pin reverts to v0.7.5, with no code change needed because the ghostty_* symbols exist in the v0.7.5 header). It also gives verification (check-pinned-downloads.py passes and 34 test_release.py tests pass). The template's Result section does not explicitly say what changes for an OmniWM user, such as whether any configuration, CLI, or workflow behavior changes. The description also does not mention the contributor guide's verification expectations or any checks not run.

Resolution

Optionally add one sentence to the Result section saying no user-facing configuration, CLI, or workflow changes, and note whether any checks were not run and why.

Full details: Linked Issues check

Explanation

The changes satisfy issue #1035. Scripts/dev-tools.env now uses the published v0.7.5 GhosttyKit URL and matching ZIP, source-commit, and Zig-version pins. Scripts/build-metadata.env updates the matching archive checksum. The test fixture in Tests/DevToolingTests/test_release.py matches the 0.16.0 pin. This implements the selected stopgap and supports make check-pins, setup, and CI dependency verification.

Full details: Out of Scope Changes check

Explanation

All changed files support issue #1035. The checksum and provenance updates are required when the GhosttyKit pin changes. The test updates keep release validation aligned with the selected v0.7.5 kit. No unrelated source or release-option work is present.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 3 files.

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@BarutSRB

BarutSRB commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

@dappermint I think you might need to keep the new zig 0.17 version as the current ghosty repo head requires it from few days ago when I tried to compile

Edit: nvm you are repinning the version that was used for last release

@dappermint

Copy link
Copy Markdown
Member Author

OMNIWM_GHOSTTY_ZIG_VERSION is a record of what built the zip. build-ghosttykit.py reads the required zig from ghostty's build.zig.zon (0.17.0 at HEAD) and downloads that, then omniwm_release.py writes the version it used into dev-tools.env. canary and the 0.8.0 prepare run will build with 0.17 without this line. the v0.7.5 zip this pins was built with 0.16.0, so i left it matching, and prepare rewrites all four lines when 0.8.0 ships

@dappermint
dappermint merged commit 11f68df into OmniNull:main Oct 29, 2026
5 checks passed
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.

[Bug]: CI red on main: pinned GhosttyKit v0.8.0 zip is not published (404)

2 participants