42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
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
|