Skip to content

fix(tts): stop CI crash by dropping cleanup/PR steps, convert contrib…#92

Open
M2Night wants to merge 1 commit into
mainfrom
fix/ttsCI
Open

fix(tts): stop CI crash by dropping cleanup/PR steps, convert contrib…#92
M2Night wants to merge 1 commit into
mainfrom
fix/ttsCI

Conversation

@M2Night

@M2Night M2Night commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Description

What

  • Remove the Cleanup Orphaned Audio and Create Pull Request steps from the TTS workflow.
  • Convert contributing.mdx from the legacy voices={...} form to the runtime page= form.

Why

The TTS workflow was failing on every run. The Cleanup Orphaned Audio step
crashed with Unexpected closing slash '/' in tag, which then skipped the
Create Pull Request step (no if: always()), so no audio PR was ever opened.

Root cause is the page= migration (PR #68) being incompatible with the
speak-mintlify CLI workflow, which was built for the old voices={...} form:

  • Cleanup is wrong for page= pages. It figures out "which audio is still
    referenced" by reading voices URLs from the MDX. The page= form has no
    voices attribute, so cleanup sees those pages as referencing nothing and
    would delete live audio. (It only ever crashed before reaching that point.)
  • The crash itself comes from generate re-injecting the component: it
    un-nests <AudioTranscript> out of its <Visibility for="humans"> wrapper
    and leaves a dangling </Visibility>, which is invalid MDX.
  • No PR is needed for page= pages: URLs are resolved at runtime by
    audio-transcript.jsx, so the MDX is never rewritten — there is nothing to
    commit.

generate still runs and uploads the audio to R2, which is all the page= form
needs.

contributing.mdx was the last file still on the old voices={...} form (and
still pointed at the dead E-girl ID). Converting it to page= makes all audio
pages consistent and lets it follow the current voice list.

Net change

Only .github/workflows/tts.yaml and contributing.mdx (the E-girl voice ID
fix already landed on main via #90).

Notes / follow-ups (out of scope)

  • generate still re-synthesizes every page each run (~2.5h) because its
    skip/dedup needs metadata in the MDX, which the page= form doesn't carry.
  • Old voice-ID audio is left in R2 (harmless; nothing references it).
  • The voice list still lives in two places (audio-transcript.jsx +
    speaker-config.yaml) and must be kept in sync.

Summary by CodeRabbit

  • Chores
    • Simplified TTS audio generation workflow by consolidating steps.
    • Updated audio transcript rendering in contributing documentation to use dynamic page-based approach with improved visibility controls.

…uting to page= form

The "Cleanup Orphaned Audio" step crashed with "Unexpected closing slash"
because speak-mintlify's injector un-nests <AudioTranscript> out of its
<Visibility for="humans"> wrapper, leaving a dangling </Visibility>. The
crash skipped the PR step, so no audio PR was ever opened.

Pages now use the runtime page= form (<AudioTranscript page="..." />):
- the cleanup command cannot see those references and would delete live audio
- there is no MDX rewrite, so there is nothing to open a PR for

Drop both steps; `generate` still uploads audio to R2, which is all the
page= form needs.

Also convert contributing.mdx from the legacy voices={...} form to the
page= form so it follows the current E-girl voice.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@M2Night M2Night requested a review from abersheeran June 19, 2026 04:36
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f8880949-caed-49ad-a630-a0fd4e4f3b5f

📥 Commits

Reviewing files that changed from the base of the PR and between f1d7383 and 75050f2.

📒 Files selected for processing (2)
  • .github/workflows/tts.yaml
  • contributing.mdx

📝 Walkthrough

Walkthrough

The TTS workflow removes the "Cleanup Orphaned Audio" and "Create Pull Request" steps, replacing them with explanatory comments. In contributing.mdx, the AudioTranscript component is switched from a hardcoded voices array to a page="contributing" prop, wrapped inside a <Visibility for="humans"> block.

Changes

TTS page= migration

Layer / File(s) Summary
contributing.mdx AudioTranscript switched to page= with Visibility
contributing.mdx
AudioTranscript is now wrapped in <Visibility for="humans"> and configured via page="contributing", removing the hardcoded voices array and the speak-mintlify-hash comment.
TTS workflow cleanup and PR steps removed
.github/workflows/tts.yaml
The "Cleanup Orphaned Audio" and "Create Pull Request" steps are removed; inline comments explain that cleanup cannot safely resolve runtime page= references and that the MDX PR step is no longer required.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • fishaudio/docs#31: Also modifies AudioTranscript configuration on a docs page by adding a hardcoded voices list, the inverse of what this PR removes from contributing.mdx.
  • fishaudio/docs#58: Modifies the same tts.yaml workflow's Generate TTS audio step (adding conditional --force), directly overlapping with the workflow changes here.
  • fishaudio/docs#90: Adjusts speaker-config.yaml and AudioTranscript fallback logic that page="contributing" now depends on for voice resolution.

Suggested reviewers

  • twangodev
  • Kilerd

Poem

🐇 Hop, hop! No more hardcoded list,
The voices are gone with a flick of the wrist.
page="contributing" now leads the way,
No cleanup, no PR — a simpler today.
The rabbit approves this tidy display! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title directly addresses the main fix (stopping CI crash by dropping cleanup/PR steps) and mentions the secondary change (converting contributing.mdx), clearly capturing the primary objectives of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ttsCI

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.

@mintlify

mintlify Bot commented Jun 19, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
hanabiaiinc 🟢 Ready View Preview Jun 19, 2026, 4:37 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

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