1
0
mirror of https://github.com/darkzoul5/YoutubePlaylistSync.git synced 2026-07-03 04:23:59 +03:00

ci/tests: simplify tests and workflows

This commit is contained in:
2026-05-16 17:17:17 +03:00
parent 17c2df3640
commit 8550203411
5 changed files with 16 additions and 11 deletions
+1
View File
@@ -17,6 +17,7 @@ jobs:
INTEGRATION_TEST: '1'
# Used by the integration tests to locate ffmpeg reliably.
FFMPEG_PATH: '/usr/bin/ffmpeg'
TEST_PLAYLIST_URL: 'https://www.youtube.com/playlist?list=PLUmRr21IDW9WCW87FnbWAbIwwZHbf-lAz'
steps:
- name: Checkout repository
+6 -7
View File
@@ -3,9 +3,11 @@ name: Unit tests
on:
workflow_dispatch:
push:
branches: [ main ]
branches:
- main
pull_request:
branches: [ main ]
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -22,14 +24,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6
- name: Create venv and install project
- name: Install project
run: |
set -euo pipefail
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
# Install project (editable) and test deps
python -m pip install -e .[test] || python -m pip install -e .
python -m pip install -e .
python -m pip install pytest
- name: Run tests
@@ -37,5 +37,4 @@ jobs:
PYTHONPATH: ${{ github.workspace }}
run: |
set -euo pipefail
. .venv/bin/activate
pytest -q
+3 -1
View File
@@ -9,12 +9,14 @@ from src.app.core.sync.executor import ActionExecutor
from src.app.core.sync.service import SyncService
PLAYLIST_URL = "https://www.youtube.com/playlist?list=PLUmRr21IDW9WCW87FnbWAbIwwZHbf-lAz"
PLAYLIST_URL = os.getenv("TEST_PLAYLIST_URL")
def _require_integration():
if not os.getenv("INTEGRATION_TEST"):
pytest.skip("Set INTEGRATION_TEST=1 to enable real download tests")
if not PLAYLIST_URL:
pytest.skip("Set TEST_PLAYLIST_URL to enable real download tests")
@pytest.mark.integration
+3 -1
View File
@@ -9,12 +9,14 @@ from src.app.core.sync.executor import ActionExecutor
from src.app.core.sync.service import SyncService
PLAYLIST_URL = "https://www.youtube.com/playlist?list=PLUmRr21IDW9WCW87FnbWAbIwwZHbf-lAz"
PLAYLIST_URL = os.getenv("TEST_PLAYLIST_URL")
def _require_integration():
if not os.getenv("INTEGRATION_TEST"):
pytest.skip("Set INTEGRATION_TEST=1 to enable real download tests")
if not PLAYLIST_URL:
pytest.skip("Set TEST_PLAYLIST_URL to enable real download tests")
@pytest.mark.integration
+3 -2
View File
@@ -9,12 +9,14 @@ from src.app.core.sync.executor import ActionExecutor
from src.app.core.sync.service import SyncService
PLAYLIST_URL = "https://www.youtube.com/playlist?list=PLUmRr21IDW9WCW87FnbWAbIwwZHbf-lAz"
PLAYLIST_URL = os.getenv("TEST_PLAYLIST_URL")
def _require_integration():
if not os.getenv("INTEGRATION_TEST"):
pytest.skip("Set INTEGRATION_TEST=1 to enable real download tests")
if not PLAYLIST_URL:
pytest.skip("Set TEST_PLAYLIST_URL to enable real download tests")
@pytest.mark.integration
@@ -55,4 +57,3 @@ def test_integration_download_video(tmp_path):
video_dir = save_path / "video"
assert video_dir.exists()
assert any(p.suffix.lower() == ".mp4" for p in video_dir.glob("*.mp4"))