fix(ci): pin epub test deps and surface epublib skip

Pin the epub skill's test-only dependencies (EbookLib, beautifulsoup4) with
exact versions in requirements-epub-test.txt and install from that file in
CI, instead of unpinned package names. The file is test-only and notes that
EbookLib is AGPL; requirements-dev.txt is untouched.

Also surface the epublib skip in epub/scripts/test_epub_skill.sh: when
epublib is not importable (it requires Python 3.13+), epub-edit and
epub-convert now print an explicit SKIPPED line and count as SKIP in the
summary instead of silently passing.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
Magnus Hedemark
2026-08-14 23:42:25 -04:00
co-authored by factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
parent b24f8a8d98
commit 0dc4b6c5dc
4 changed files with 17 additions and 7 deletions
+1 -1
View File
@@ -78,7 +78,7 @@ jobs:
python3 -m pytest "$dir" -o "addopts=-ra --strict-markers --tb=short" -o "python_files=test_*.py" -v --durations=10
done < <(git ls-files | grep -E '/scripts/test_[^/]*\.py$' | sed 's#/[^/]*$##' | sort -u)
- name: Install epub skill test deps (EbookLib is AGPL; test-only)
run: python3 -m pip install EbookLib beautifulsoup4
run: python3 -m pip install -r requirements-epub-test.txt
- name: Run skill-local shell test scripts
run: python3 scripts/check-skill-tests.py --run
- name: Check skill test coverage