@@ -9,49 +9,4 @@ permissions:
99
1010jobs :
1111 lint-and-test :
12- name : Lint & Test
13- runs-on : ubuntu-latest
14- steps :
15- - name : Checkout plugin
16- uses : actions/checkout@v6
17- with :
18- path : plugin
19-
20- # The plugin runs against a sibling bunnyland-server checkout: tests/conftest.py puts
21- # ../bunnyland-server/src on sys.path, and its virtualenv provides bunnyland, relics,
22- # ruff, and pytest. No container build.
23- - name : Checkout bunnyland-server
24- uses : actions/checkout@v6
25- with :
26- repository : thalismind/bunnyland-server
27- ref : main
28- path : bunnyland-server
29- token : ${{ secrets.GITHUB_TOKEN }}
30-
31- - name : Install uv
32- uses : astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
33-
34- - name : Ruff (lint)
35- working-directory : plugin/server
36- run : uv run --project ../../bunnyland-server ruff check --output-format=github src tests
37-
38- - name : Pytest (test report + coverage)
39- working-directory : plugin/server
40- run : |
41- set -o pipefail
42- mkdir -p reports
43- uv run --project ../../bunnyland-server -m pytest \
44- --junit-xml=reports/junit.xml \
45- --cov=src --cov-branch --cov-fail-under=95 \
46- --cov-report=xml:reports/coverage.xml --cov-report=term \
47- | tee reports/pytest.txt
48- echo "### Test summary" >> "$GITHUB_STEP_SUMMARY"
49- tail -n 1 reports/pytest.txt >> "$GITHUB_STEP_SUMMARY"
50-
51- - name : Upload reports
52- if : always()
53- uses : actions/upload-artifact@v7
54- with :
55- name : test-reports
56- path : plugin/server/reports/
57- if-no-files-found : warn
12+ uses : thalismind/.github/.github/workflows/plugin-ci.yml@main
0 commit comments