Skip to content

update-yt-dlp

update-yt-dlp #1556

Workflow file for this run

name: update-yt-dlp
on:
schedule:
- cron: '0 0 * * *'
jobs:
update-yt-dlp :
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.AUTOUPDATE_PAT }}
-
name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.13'
-
name: Install uv
uses: astral-sh/setup-uv@v6
-
name: Update yt-dlp
run: |
uv sync --locked
# Check if yt-dlp has updates available
LATEST_VERSION=$(uv pip list --outdated --format json | jq -r '.[] | select(.name == "yt-dlp") | .latest_version')
CURRENT_VERSION=$(uv pip list --format json | jq -r '.[] | select(.name == "yt-dlp") | .version')
if [ -n "$LATEST_VERSION" ] && [ "$LATEST_VERSION" != "$CURRENT_VERSION" ]; then
echo "Updating yt-dlp from $CURRENT_VERSION to $LATEST_VERSION"
uv lock --upgrade-package "yt-dlp[default,curl-cffi]"
git config --global user.email "updater@metube"
git config --global user.name "AutoUpdater"
git add uv.lock
git commit -m "upgrade yt-dlp from $CURRENT_VERSION to $LATEST_VERSION"
git push
else
echo "yt-dlp is already up to date ($CURRENT_VERSION)"
fi