Skip to content

chore: say what the measurement opt-in does for Codex #13

chore: say what the measurement opt-in does for Codex

chore: say what the measurement opt-in does for Codex #13

name: Release video dry run
# Renders the release video on the runner the release uses, without a release, so a
# broken render shows on the pull request instead of on the day the release ships.
# The MP4 is kept as a run artifact: nothing is attached or published.
on:
pull_request:
branches: [main, next]
paths:
- ".claude/skills/release-video/**"
- "aidd_docs/release-video/**"
- ".github/workflows/release-video-dry-run.yml"
workflow_dispatch:
permissions:
contents: read
jobs:
render:
name: Render the release video
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: "22"
- name: Install ffmpeg
run: sudo apt-get update && sudo apt-get install -y ffmpeg
- name: Render the release video
# The next minor after the last release, which is what the release job would name.
run: |
LAST=$(node -p "require('./.release-please-manifest.json')['.']")
MINOR="$(echo "${LAST}" | cut -d. -f1).$(( $(echo "${LAST}" | cut -d. -f2) + 1 ))"
node .claude/skills/release-video/assets/render-release-video.cjs --version "${MINOR}" --out release-video.mp4
- name: Keep the video and its thumbnail
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: release-video
path: |
release-video.mp4
release-video.png
retention-days: 7