Release: provision Nemotron and ReDimNet2 in the RC workflow - #1935
Merged
Merged
Conversation
build-beta.sh now refuses to build without the Nemotron 3 diarizer and the ReDimNet2 voiceprint model, and the Release Candidate runner has neither. scripts/release/provision-release-models.sh fills the runner's FluidAudio cache before build-beta, checking every file against pinned sha256s: - Nemotron fast128 from FluidInference/nemotron-3-diarization-coreml at 25a90f97 (the repo FluidAudio 0.17.0 downloads from), marker ga-2026-09-23. - ReDimNet2 b4 slim from the models-redimnet2-b4-slim-v1 release asset. - Either one from the previous release's app first when it matches the pins, so later releases reuse the same bytes.
Owner
Author
|
Coordinator review: APPROVE. Pinned sha256 per file + exact file lists, temp-dir build, no skip switch; Nemotron pinned to the HF commit FluidAudio 0.17.0 uses; reuse from previous DMG for 1.1.68+. Integrated via #1934. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
build-beta.shnow exits 1 without the Nemotron 3 diarizer and the ReDimNet2 voiceprint model in~/Library/Application Support/FluidAudio/Models. The Release Candidate runner only restores Parakeet and the pyannote diarizer from the 1.1.66 DMG, which has neither new model. So 1.1.67 can't build on the only path that notarizes.What
scripts/release/provision-release-models.sh <models-dir> [--previous-resources <dir>] [--redimnet2-archive <zip>]fills the cache. Every file is checked against a pinned sha256, and each.mlmodelcmust match an exact file list. Any mismatch fails the job and leaves nothing half-written. No skip switch.build-beta.sh. The restore step also keeps the previous DMG'snemotron-diarizer-models/andredimnet2-voiceprint/when they exist (1.1.68+), and the script uses them first so the bytes and Sparkle deltas stay stable.docs/release-packaging.md, and abash -nrule in.agents/test-matrix.yml.Sources and pins
fast128:FluidInference/nemotron-3-diarization-coremlat25a90f97f254428d4b30374b76af9c74fdee8327, which is the repo FluidAudio 0.17.0'sNemotron3Models.loadFromHuggingFacepulls from. Files:monolithic/v2/Nemotron3Diarizer_fast128.mlmodelc/*pluslearnable_sil_emb.bin. The marker.fluidaudio-nemotron3-weightsgetsga-2026-09-23\n(FluidAudio'sweightsVersion). The pins match both the HF LFS sha256s at that commit and the owner's local cache.models-redimnet2-b4-slim-v1/redimnet2-b4-slim-Model.mlmodelc.zip. It's pinned per file to the owner's localredimnet2-b4-slim/Model.mlmodelcand also passesvoiceprint_model_problems.Needs before the RC run
The
models-redimnet2-b4-slim-v1release has to be published first. It needs to be a prerelease, not latest, sogh release viewand the delta step keep ignoring it. Until it's up, the step fails loudly with a 404.Validation
diff -r/cmpclean).--previous-resourcespath with a 1.1.68-style Resources layout: installed without the network, same bytes.bash check.sh quickPASS,check-known-traps.pyok,SparkleAppcastDeltaTests.shpass, YAML parses.source_refhas to differ from main only inInfo.plist, so this has to merge first.🤖 Generated with Claude Code