ytptube/.github/workflows/update-yt-dlp.yml
2026-01-30 16:31:20 +03:00

60 lines
1.6 KiB
YAML

name: update-yt-dlp
on:
workflow_dispatch:
inputs:
logLevel:
description: "Log level"
required: true
default: "warning"
type: choice
options:
- info
- warning
- debug
schedule:
- cron: "0 0 * * *"
jobs:
update-yt-dlp:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: "dev"
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install uv
run: pip install uv
- name: Sync dependencies
run: uv venv && . .venv/bin/activate && uv sync
- name: Check and update yt-dlp
id: ytdlp_update
run: |
. .venv/bin/activate
VER=$(uv pip list --outdated | awk '$1 == "yt-dlp" {print $3}')
if [ -n "$VER" ]; then
echo "YTLDLP_VER=${VER}" >> "$GITHUB_OUTPUT"
uv pip install --upgrade yt-dlp[default]
uv sync --upgrade
UPDATED=true
else
UPDATED=false
fi
echo "UPDATED=${UPDATED}" >> "$GITHUB_OUTPUT"
- name: Create Pull Request
if: steps.ytdlp_update.outputs.UPDATED == 'true'
uses: peter-evans/create-pull-request@v5
with:
title: "[yt-dlp] automated update to ${{ steps.ytdlp_update.outputs.YTLDLP_VER }}"
commit-message: "Update yt-dlp to ${{ steps.ytdlp_update.outputs.YTLDLP_VER }}"
body: "This is an automated request to update yt-dlp dependency to ${{ steps.ytdlp_update.outputs.YTLDLP_VER }}"
delete-branch: true