60 lines
1.6 KiB
YAML
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
|