Releases travados por 622 MB de modelo ONNX versionado em tests/fixtures #1

Open
opened 2026-10-23 23:46:44 +00:00 by evandro · 0 comments
Owner

Problema

O repositório tem 1,1 GB de worktree e 458 MB de .git para 53 arquivos versionados. O culpado é um único fixture de teste:

Arquivo Tamanho
src-tauri/tests/fixtures/sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8/encoder.int8.onnx 622 MB
src-tauri/binaries/onnxruntime.dll 13,5 MB
src-tauri/tests/fixtures/.../decoder.int8.onnx 6,9 MB
src-tauri/binaries/sherpa-onnx-offline-x86_64-pc-windows-msvc.exe 2,2 MB

Impacto

Qualquer git clone baixa 1,1 GB. O CI e o tauri build ficam caros, e o GitHub/Gitea recusa repos acima de ~1 GB.

Proposta

  1. Remover tests/fixtures/**/*.onnx e binaries/*.dll|*.exe do versionamento.
  2. Substituir por um script scripts/fetch-fixtures.ts que baixa de uma release com SHA-256 verificado, com cache em ~/.cache/transcript.
  3. Marcar o teste que usa o modelo com #[ignore] quando o fixture não estiver presente.
  4. Limpar o histórico com git filter-repo --path src-tauri/tests/fixtures --invert-paths (coordene com o remoto).

Critério de pronto

  • git clone < 50 MB.
  • npm test funciona sem o modelo (teste de transcrição end-to-end é #[ignore]).
  • scripts/fetch-fixtures.ts baixa e valida o fixture.
## Problema O repositório tem **1,1 GB** de worktree e **458 MB** de `.git` para 53 arquivos versionados. O culpado é um único fixture de teste: | Arquivo | Tamanho | |---|---| | `src-tauri/tests/fixtures/sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8/encoder.int8.onnx` | **622 MB** | | `src-tauri/binaries/onnxruntime.dll` | 13,5 MB | | `src-tauri/tests/fixtures/.../decoder.int8.onnx` | 6,9 MB | | `src-tauri/binaries/sherpa-onnx-offline-x86_64-pc-windows-msvc.exe` | 2,2 MB | ## Impacto Qualquer `git clone` baixa 1,1 GB. O CI e o `tauri build` ficam caros, e o GitHub/Gitea recusa repos acima de ~1 GB. ## Proposta 1. Remover `tests/fixtures/**/*.onnx` e `binaries/*.dll|*.exe` do versionamento. 2. Substituir por um script `scripts/fetch-fixtures.ts` que baixa de uma release com SHA-256 verificado, com cache em `~/.cache/transcript`. 3. Marcar o teste que usa o modelo com `#[ignore]` quando o fixture não estiver presente. 4. Limpar o histórico com `git filter-repo --path src-tauri/tests/fixtures --invert-paths` (coordene com o remoto). ## Critério de pronto - `git clone` < 50 MB. - `npm test` funciona sem o modelo (teste de transcrição end-to-end é `#[ignore]`). - `scripts/fetch-fixtures.ts` baixa e valida o fixture.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: evandro/transcript#1