1
0
Fork 0
mirror of https://github.com/qurator-spk/modstool.git synced 2025-06-25 19:49:54 +02:00

⚙ Switch to testing on GitHub Actions

This commit is contained in:
Mike Gerber 2025-06-13 17:29:10 +02:00
parent 212df99436
commit c6e565588b
3 changed files with 84 additions and 23 deletions

View file

@ -1,23 +0,0 @@
version: 2.1
jobs:
test:
parameters:
python-version:
type: string
docker:
- image: cimg/python:<< parameters.python-version >>
steps:
- checkout
- run: pip3 install --upgrade pip
- run: pip3 install -e .
- run: pip3 install -r requirements-test.txt
- run: pytest
workflows:
all-tests:
jobs:
- test:
matrix:
parameters:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]

64
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,64 @@
name: 'Test'
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: "00 16 07 * *" # = monthly
# Allow manually running (from GitHub Web)
workflow_dispatch:
# Allow calling this workflow (e.g. from release workflow)
workflow_call:
jobs:
test:
strategy:
fail-fast: false
matrix:
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12", "3.13" ]
runs-on: "ubuntu-latest"
steps:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Checkout
uses: actions/checkout@v4
- name: Install possible lxml build requirements (if building from source)
run: sudo apt-get install -y libxml2-dev libxslt-dev python3-dev
- name: Install possible shapely build requirements (if building from source)
run: sudo apt-get install -y libgeos-dev
- name: Update pip
run: python3 -m pip install -U pip
- name: Install requirements*.txt
run: |
for requirements_txt in requirements*.txt; do
python3 -m pip install -r $requirements_txt;
done
- name: Test
run: |
cd src
python3 -m pytest --junitxml=../${{matrix.python-version}}-junit.xml -o junit_family=legacy
- name: Upload test results
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-${{matrix.python-version}}
path: ${{matrix.python-version}}-junit.xml

20
.github/workflows/test_report.yml vendored Normal file
View file

@ -0,0 +1,20 @@
name: 'Test - Report results'
on:
workflow_run:
workflows: ['test']
types:
- completed
permissions:
contents: read
actions: read
checks: write
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: dorny/test-reporter@v1
with:
artifact: /test-results-(.*)/
name: 'test - Results ($1)'
path: '*junit.xml'
reporter: java-junit