From e3fde1fd74f84ab69e5178bacc0f0c3c26833b14 Mon Sep 17 00:00:00 2001 From: Deluan Date: Thu, 1 Oct 2026 18:12:56 -0400 Subject: [PATCH] fix(release): install MP3 tools before audio generation Signed-off-by: Deluan --- .github/workflows/release-audio-tests.yml | 4 ++++ .github/workflows/release-audio.yml | 5 +++++ release/audio/README.md | 5 +++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-audio-tests.yml b/.github/workflows/release-audio-tests.yml index eb318e49b..49307c603 100644 --- a/.github/workflows/release-audio-tests.yml +++ b/.github/workflows/release-audio-tests.yml @@ -22,4 +22,8 @@ jobs: - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 with: python-version: '3.12' + - name: Install tools for the offline MP3 decode test + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends ffmpeg - run: python3 -m unittest discover -s release/audio -p 'test_*.py' -v diff --git a/.github/workflows/release-audio.yml b/.github/workflows/release-audio.yml index 72e2e8d0c..cc078c734 100644 --- a/.github/workflows/release-audio.yml +++ b/.github/workflows/release-audio.yml @@ -58,6 +58,11 @@ jobs: - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 with: python-version: '3.12' + - name: Install MP3 inspection tools before generation + if: env.AUDIO_MODE == 'audio' && env.AUDIO_ENABLED == 'true' + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends ffmpeg - name: Resolve sources and check limits and duplicate attempts id: prepare env: diff --git a/release/audio/README.md b/release/audio/README.md index 1790a9b49..ea15c507e 100644 --- a/release/audio/README.md +++ b/release/audio/README.md @@ -164,8 +164,9 @@ The suite blocks unmocked network access. Fixtures preserve the public bodies of v0.64.0/.1/.2 and test consequential omissions, unsafe tags/output, disabled generation, exact event identity, changing notes, duplicates/expiry/force, budget caps, error responses, and no retries. The separate PR test workflow -never receives `OPENAI_API_KEY`. Generation uses only Python's standard library; -the Ubuntu runner must have `ffprobe` and `ffmpeg` before speech is requested. +never receives `OPENAI_API_KEY`. Generation uses only Python's standard library. +Both workflows install `ffprobe` and `ffmpeg` in a credential-free step; audio +generation installs them before source preparation or any OpenAI request. ## References