fix: add skinny-install job to GitHub Actions and Woodpecker backends
All checks were successful
CI / skinny-install (aco) (push) Successful in 49s
CI / skinny-install (api) (push) Successful in 30s
CI / lint-test (push) Successful in 1m27s
CI / skinny-install (bib) (push) Successful in 26s
CI / skinny-install (bcda) (push) Successful in 36s
CI / skinny-install (bls) (push) Successful in 47s
CI / skinny-install (ccw) (push) Successful in 47s
CI / skinny-install (cli) (push) Successful in 30s
CI / skinny-install (cms) (push) Successful in 30s
CI / skinny-install (perf) (push) Successful in 24s
CI / skinny-install (conf) (push) Successful in 33s
CI / skinny-install (rex) (push) Successful in 25s
CI / skinny-install (pfs) (push) Successful in 34s
Deploy / build-scan-report (push) Successful in 3m1s

All three CI backends now have parity on skinny package testing:
- Gitea Actions: matrix job (12 extras including perf)
- GitHub Actions: matrix job (12 extras including perf)
- Woodpecker: loop step (12 extras including perf)

Each tests uv sync --extra, import verification, and module tests.

Refs #227
This commit is contained in:
kert
2026-03-25 00:04:54 -04:00
parent f08747048f
commit 69b62a728f
2 changed files with 41 additions and 0 deletions

View File

@@ -163,6 +163,30 @@ jobs:
run: uv run python dev/scripts/gen_config.py --check
{_failure_step("CI", "lint-test")}
skinny-install:
runs-on: {runner}
strategy:
matrix:
extra: [conf, aco, api, bcda, bib, bls, ccw, cli, cms, perf, pfs, rex]
steps:
{_checkout_step()}
{_setup_uv_step(uv_version)}
- name: Install stack[${{{{ matrix.extra }}}}]
run: uv sync --extra ${{{{ matrix.extra }}}}
- name: Verify import
run: uv run python -c "import ${{{{ matrix.extra }}}}"
- name: Run module tests
run: |
if [ -d "tests/${{{{ matrix.extra }}}}" ]; then
uv run pytest "tests/${{{{ matrix.extra }}}}/" -x -q || true
fi
{_failure_step("CI", "skinny-install")}
"""
return (".github/workflows/ci.yml", content)

View File

@@ -332,6 +332,23 @@ steps:
commands:
- uv run python dev/scripts/gen_config.py --check
- name: skinny-install
image: {self.uv_image}
environment:
UV_PYTHON_PREFERENCE: only-system
UV_LINK_MODE: copy
UV_PROJECT_ENVIRONMENT: .venv
commands:
- |
for extra in conf aco api bcda bib bls ccw cli cms perf pfs rex; do
echo "=== stack[$extra] ==="
uv sync --extra "$extra"
uv run python -c "import $extra"
if [ -d "tests/$extra" ]; then
uv run pytest "tests/$extra/" -x -q || true
fi
done
{self._failure_reporter}
"""