Skip to content

quest: plan backporting the moq-gst formula test fix to release - #8076

Merged
kixelated merged 3 commits into
mainfrom
quest-plan/moq-gst-release
Nov 7, 2026
Merged

kixelated merged 3 commits into
mainfrom
quest-plan/moq-gst-release

Conversation

@kixelated

@kixelated kixelated commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Plans quest/m0/ci/gst-release-macos.md (XS). Every moq-gst tag since 0.4.20 fails its Build tarball (aarch64-apple-darwin) job, because brew test moq-dev/ci-gst/moq-gst hangs for 5 minutes after gst-inspect-1.0 logs macOS XPC "Connection invalid" errors. The Release job is skipped as a result, so the 0.4.21, 0.4.22 and 0.4.23 GitHub releases never published. Found while re-running moq-dev/moq#7936's failed tag runs for moq-dev/moq#7201; run 42129723974 failed the same way on its re-run. Nightly's same job passes on main, because moq-dev/moq#5841 already replaced the formula's sandboxed gst-inspect-1.0 call there and release never got it (found by Pullfrog). The quest is therefore a backport of that template change.

Decisions

Is "moq-gst releases publish again" (find why brew test hangs on release tags, fix it at the root, publish the next release) the right goal?

  • ✅ Yes, plan it
  • Also backfill 0.4.21-0.4.23
  • Don't plan it

Milestone:

  • ✅ m0 CI (recommended)
  • m3 release

Public API: none. Wire: none.

Review

Codex quest review, gpt-6.1-sol, medium. Round 2 reviewed head f1707d5 against origin/main (8c61297): 0 findings. Round 1 (04b39a0): 0 findings.

Online review on 04b39a0: the P3 on reproduction commands is fixed (the plan now names just gh gst-formula and sh/gh/gst-formula.py). Pullfrog's finding that #5841 already fixed this on main is adopted: the quest is rewritten as an XS backport. quest check passed (606 documents ok).

(Written by Claude Opus 5.5 with high)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The changes document the Homebrew formula test timeout that affected moq-gst tags 0.4.21–0.4.23. They record the planned backport of the formula-template change from main to release, with the next tag as the verification point. They also state that the affected releases will not be backfilled. The CI README adds a required task entry for the backport.

Severity of issue fixed: Medium

Merge Risk: Minimal · up to f1707

This documentation-only change is mergeable after normal checks. It records the planned release fix but does not itself implement or verify that fix.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title accurately describes the plan to backport the moq-gst formula test fix to release.
Description check Passed The description explains the macOS release failure and the planned formula test backport.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. 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 0 functions across 0 files. (2 skipped: 2 unsupported.)

Finishing Touches

Simplify code

  • Commit to this branch
  • 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

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fcb82b00-6150-47c7-86c2-6576c04264a1
Commits

Reviewing files that changed from the base of the PR and between 8c61297 and f1707d5.

Files selected for processing: 2

  • quest/m0/ci/README.md
  • quest/m0/ci/gst-release-macos.md

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

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Automated review by review (OpenAI)

Reviewed head 04b39a0a589031fcd88868fda018837d34aee9b1 against base f2f9bc935ee81689a9e4aec424fa28b925a1c29e.

One low-priority finding: correct the command and script named for reproducing the failing Homebrew step (inline). No other actionable findings in this two-file plan change. The three cited tag runs do fail the macOS formula step and skip Release; the latest 0.4.23 job log confirms the five-minute timeout after the XPC errors.

Direction: start with the existing formula difference. At this head, .github/homebrew/Formula/moq-gst.rb.tmpl:46-54 already documents the headless Homebrew sandbox hang and checks dynamic linkage instead, while the workflow separately loads the plugin outside the sandbox. The 0.4.23 tag still invokes gst-inspect-1.0 inside the formula test. Preserve both kinds of coverage when validating the release-line fix.

Limits: GitHub-only static review of the plan, workflow, installer and formula, plus existing job results/logs. I did not reproduce the macOS behavior, run quest checks or tests, or independently verify registry publication. The PR's Check workflow reports success. COMMENT only, not approval or a merge-readiness assertion.

Comment thread quest/m0/ci/gst-release-macos.md Resolved

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

The plan treats the brew test hang as unsolved, but main settled the same failure in #5841 and release never received that commit. Details below.

Reviewed changes

  • New quest plan (quest/m0/ci/gst-release-macos.md) — records the three missing moq-gst GitHub releases and plans the macOS brew test fix.
  • m0 CI index (quest/m0/ci/README.md) — links the quest under ## Required.

The cited tag runs, the skipped Release job, the missing 0.4.21-0.4.23 releases, the published crates and Nightly's passing macOS job all check out, and quest check passes (596 documents). The existing inline thread on the command and script names is correct and still applies.

⚠️ The plan re-diagnoses a cause main already settled in #5841

#5841 (2026-10-17) found gst-inspect-1.0 hangs at startup inside Homebrew's test sandbox (GStreamer 1.28.8, macOS image 20261013) and chose to drop the call from the formula's test do, asserting the plugin exists and links libgstreamer-1.0 instead. release never received that change: the Test Homebrew formula against tarball step and the pre-#5841 formula arrived in the backport be7f785b at 2026-11-03 00:53Z, about an hour before 0.4.21 was tagged, while 0.4.20's macOS job had no such step. The remaining work is porting #5841's formula to release and cutting the next release, so the Plan should point there rather than ask for a fresh macOS reproduction. The Goal's "without ... skipping the test" also contradicts that settled fix and needs rewording to allow it.

Technical details
# Port the settled formula fix instead of re-diagnosing

## Affected sites
- `quest/m0/ci/gst-release-macos.md:25-28` — treats the cause as open and asks for a fresh macOS reproduction.
- `quest/m0/ci/gst-release-macos.md:7-8` — the Goal forbids "skipping the test", which is what the settled fix does.
- `.github/homebrew/Formula/moq-gst.rb.tmpl:45-53` — on `main`, `test do` no longer runs `gst-inspect-1.0`; it asserts the plugin exists and links `libgstreamer-1.0`.
- The `release` copy of the same file still runs `gst-inspect-1.0 moq` (last changed by the backport `be7f785b`).

## Required outcome
- The Plan names #5841's decision as the known cause and fix, and the remaining work as backporting that formula to `release` plus cutting the next release.
- The Goal permits the accepted fix instead of forbidding it.

## Evidence
- #5841 (merged 2026-10-17), decision 1: "gst-inspect-1.0 hangs at startup inside Homebrew's test sandbox ... A: drop the gst-inspect-1.0 call from the formula's test do and assert the plugin exists and links libgstreamer-1.0."
- `be7f785b` (release backport of #5216) committed 2026-11-03 00:53Z added the `Test Homebrew formula against tarball` step and the pre-#5841 formula; 0.4.21 was tagged 2026-11-03 02:11Z.
- 0.4.20's macOS job (123997434413) step list has no `Test Homebrew formula against tarball` step, which is why it passed.
- 0.4.23 job 128111899383: `gst-inspect-1.0` logs the LaunchServices/XPC errors at 19:47:17Z and Homebrew times out at 19:52:17Z.

Pullfrog  | Fix it ➔ | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated kixelated changed the title quest: plan moq-gst releases publishing again quest: plan backporting the moq-gst formula test fix to release Nov 6, 2026
@kixelated

Copy link
Copy Markdown
Collaborator Author

Adopted in f1707d5: #5841 settled the hang on main and release never got it, so the quest is now an XS backport of the formula template change.

(Written by Claude Opus 5.5 with high)

@kixelated
kixelated added this pull request to the merge queue Nov 6, 2026

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

  • Quest rewritten as a backport — the Goal now requires release to carry main's Homebrew formula test rather than forbidding the settled fix.
  • Settled cause recorded — the Plan names #5841 as the fix already on main, be7f785b as the release backport that carried the pre-#5841 formula, and the workflow smoke test as the plugin-load coverage that remains outside the sandbox.
  • Plan narrowed — the fresh macOS reproduction step is gone; the remaining work is the template backport and the next tag.
  • Index bullet reworded — quest/m0/ci/README.md now describes the backport.

I re-checked the new claims against the tree: origin/release's test do still runs gst-inspect-1.0 moq and was last touched by be7f785b17, which is contained only in origin/release; the release/main moq-gst.yml difference is limited to the Nix action and artifact pins; just gh gst-formula → sh/gh/gst-formula.py matches the workflow step; and moq-gst-v0.4.20 is still the latest published moq-gst release. The prior body finding is fully addressed.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Automated review by review (OpenAI)

Follow-up review of head f1707d59f2e80dfc969e7e2fd5128db61a57efb4 against base 8c61297f349794a780d346e3aee6f0ba90214513, compared with my previous review at 04b39a0a589031fcd88868fda018837d34aee9b1 and accounting for the intervening main merge.

No new actionable findings. My prior P3 is fixed: the plan now names just gh gst-formula "$VERSION" "$TARGET" dist and sh/gh/gst-formula.py. The substantive rewrite correctly narrows the work to backporting #5841's formula change. I verified that PR's merged fix, the pre-fix formula introduced by be7f785b17d24660d4a06f90ee657a62b522a53d, and the current release formula. The workflow's remaining main/release differences are the Nix action and artifact pins, as the revised plan says.

Direction: keep the backport limited to the formula test, retain the separate unsandboxed plugin-load smoke step, and require the next tag's successful Release job before calling the quest complete.

Limits: GitHub-only static review; no local quest checks, tests, macOS reproduction, backport execution, or publication performed. Check was still running when inspected. COMMENT only, not approval or a merge-readiness assertion.

Merged via the queue into main with commit d018198 Nov 7, 2026
8 of 9 checks passed
@kixelated
kixelated deleted the quest-plan/moq-gst-release branch November 7, 2026 01:00
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