audio streaming app plyr.fm
38
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: model upgrades and CI hygiene (#1233)

- TTS: gemini-2.5-flash-preview-tts → gemini-2.5-pro-preview-tts
- moderation: claude-sonnet-4-20250514 → claude-sonnet-4-6
- CI: standardize astral-sh/setup-uv on v7, actions/checkout on v4
- CI: postgres 14 → 16 (matches Neon), rust 1.81 → 1.85 (matches moderation)
- remove stale TODO comment from status-maintenance workflow

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

authored by

nate nowack
Claude Opus 4.6
and committed by
GitHub
99d8bcd7 41ba38e4

+13 -16
+1 -1
.github/workflows/export-costs.yml
··· 39 39 with: 40 40 ref: ${{ steps.release.outputs.tag }} 41 41 42 - - uses: astral-sh/setup-uv@v4 42 + - uses: astral-sh/setup-uv@v7 43 43 44 44 - name: Export costs to R2 45 45 run: |
+1 -1
.github/workflows/run-moderation-loop.yml
··· 40 40 steps: 41 41 - uses: actions/checkout@v4 42 42 43 - - uses: astral-sh/setup-uv@v4 43 + - uses: astral-sh/setup-uv@v7 44 44 45 45 - name: Run moderation loop 46 46 run: |
+1 -1
.github/workflows/run-pre-commit.yml
··· 14 14 runs-on: ubuntu-latest 15 15 16 16 steps: 17 - - uses: actions/checkout@v5 17 + - uses: actions/checkout@v4 18 18 19 19 - name: detect changed paths 20 20 uses: dorny/paths-filter@v3
+2 -5
.github/workflows/status-maintenance.yml
··· 12 12 name: status maintenance 13 13 14 14 on: 15 - # TODO: restore schedule after testing 16 - # schedule: 17 - # - cron: "0 9 * * 1" # every monday 9am UTC 18 15 workflow_dispatch: 19 16 inputs: 20 17 skip_audio: ··· 40 37 with: 41 38 fetch-depth: 0 42 39 43 - - uses: astral-sh/setup-uv@v4 40 + - uses: astral-sh/setup-uv@v7 44 41 45 42 - uses: anthropics/claude-code-action@v1 46 43 with: ··· 273 270 steps: 274 271 - uses: actions/checkout@v4 275 272 276 - - uses: astral-sh/setup-uv@v4 273 + - uses: astral-sh/setup-uv@v7 277 274 278 275 - name: Upload audio to plyr.fm 279 276 run: |
+2 -2
.github/workflows/test-backend.yml
··· 19 19 20 20 services: 21 21 postgres: 22 - image: postgres:14-alpine 22 + image: postgres:16-alpine 23 23 env: 24 24 POSTGRES_USER: relay_test 25 25 POSTGRES_PASSWORD: relay_test ··· 43 43 --health-retries 5 44 44 45 45 steps: 46 - - uses: actions/checkout@v5 46 + - uses: actions/checkout@v4 47 47 48 48 - name: set up python 49 49 uses: actions/setup-python@v5
+1 -1
.github/workflows/test-transcoder.yml
··· 39 39 run: cargo build --release 40 40 41 41 - name: install uv 42 - uses: astral-sh/setup-uv@v5 42 + uses: astral-sh/setup-uv@v7 43 43 44 44 - name: start transcoder 45 45 run: |
+1 -1
.github/workflows/upload-audio.yml
··· 36 36 steps: 37 37 - uses: actions/checkout@v4 38 38 39 - - uses: astral-sh/setup-uv@v4 39 + - uses: astral-sh/setup-uv@v7 40 40 41 41 - name: Delete old track (if requested) 42 42 if: inputs.delete_track_id != ''
+1 -1
scripts/generate_tts.py
··· 56 56 57 57 client = genai.Client(api_key=api_key) 58 58 response = client.models.generate_content( 59 - model="gemini-2.5-flash-preview-tts", 59 + model="gemini-2.5-pro-preview-tts", 60 60 contents=script, 61 61 config=types.GenerateContentConfig( 62 62 response_modalities=["AUDIO"],
+1 -1
scripts/moderation_agent.py
··· 259 259 260 260 provider = AnthropicProvider(api_key=api_key) 261 261 return Agent( 262 - model=AnthropicModel("claude-sonnet-4-20250514", provider=provider), 262 + model=AnthropicModel("claude-sonnet-4-6", provider=provider), 263 263 output_type=BatchAnalysis, 264 264 system_prompt=SYSTEM_PROMPT, 265 265 )
+1 -1
scripts/moderation_loop.py
··· 53 53 ) 54 54 anthropic_api_key: str = Field(default="", validation_alias="ANTHROPIC_API_KEY") 55 55 anthropic_model: str = Field( 56 - default="claude-sonnet-4-20250514", validation_alias="ANTHROPIC_MODEL" 56 + default="claude-sonnet-4-6", validation_alias="ANTHROPIC_MODEL" 57 57 ) 58 58 bot_handle: str = Field(default="", validation_alias="NOTIFY_BOT_HANDLE") 59 59 bot_password: str = Field(default="", validation_alias="NOTIFY_BOT_PASSWORD")
+1 -1
services/transcoder/Dockerfile
··· 12 12 && curl -L https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz \ 13 13 | tar -xJ --strip-components=1 -C /tmp/ffmpeg 14 14 15 - FROM rust:1.81-slim AS builder 15 + FROM rust:1.85-slim AS builder 16 16 RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ 17 17 --mount=type=cache,target=/var/lib/apt,sharing=locked \ 18 18 apt-get update && apt-get install -y --no-install-recommends pkg-config libssl-dev \