- Update Ubuntu-based images to use Python 3.12 - Move hidden files from GUI image's main dir - Update github workflows to use python 3.12 - Update fixtures - Minor doc fixes
102 lines
3 KiB
YAML
102 lines
3 KiB
YAML
name: ytld-sub CI (Windows)
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
push:
|
|
branches:
|
|
- master
|
|
jobs:
|
|
test-unit:
|
|
runs-on: windows-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Run unit tests with coverage
|
|
run: |
|
|
curl.exe -L -o ffmpeg.zip https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip
|
|
tar -xf ffmpeg.zip
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe" "ffmpeg.exe"
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe"
|
|
|
|
python -m pip install -e .[test]
|
|
python -m pytest --reruns 3 --reruns-delay 5 tests/unit
|
|
|
|
test-integration:
|
|
runs-on: windows-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Run integration tests with coverage
|
|
run: |
|
|
curl.exe -L -o ffmpeg.zip https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip
|
|
tar -xf ffmpeg.zip
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe" "ffmpeg.exe"
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe"
|
|
|
|
python -m pip install -e .[test]
|
|
python -m pytest --reruns 3 --reruns-delay 5 tests/integration --ignore tests/integration/prebuilt_presets
|
|
|
|
|
|
test-integration-prebuilt-presets:
|
|
runs-on: windows-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Run prebuilt preset integration tests with coverage
|
|
run: |
|
|
curl.exe -L -o ffmpeg.zip https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip
|
|
tar -xf ffmpeg.zip
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe" "ffmpeg.exe"
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe"
|
|
|
|
python -m pip install -e .[test]
|
|
python -m pytest --reruns 3 --reruns-delay 5 tests/integration/prebuilt_presets
|
|
|
|
test-e2e:
|
|
runs-on: windows-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Run e2e tests with coverage
|
|
run: |
|
|
curl.exe -L -o ffmpeg.zip https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip
|
|
tar -xf ffmpeg.zip
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe" "ffmpeg.exe"
|
|
move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe"
|
|
|
|
python -m pip install -e .[test]
|
|
python -m pytest tests/e2e
|