-
Notifications
You must be signed in to change notification settings - Fork 1
51 lines (40 loc) · 1.19 KB
/
test-code.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
name: "Test, Lint & Coverage"
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allow manual triggering
workflow_dispatch:
jobs:
test-python:
runs-on: ubuntu-latest
steps:
- name: "Checkout source code"
uses: actions/checkout@v4
- name: "Install Poetry"
run: pipx install poetry
- name: "Install Python"
uses: actions/setup-python@v5
with:
python-version: "3.12.3"
cache: "poetry"
- name: Install dependencies
run: poetry install
- name: "Run ruff format"
run: poetry run ruff format
- name: "Run ruff check"
run: poetry run ruff check
- name: "Run mypy"
run: poetry run mypy .
- name: "Run tests with coverage"
run: poetry run pytest --cov=src --cov-report=xml --cov-report=term-missing
- name: "Upload coverage to Code Climate"
uses: paambaati/[email protected]
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageLocations: |
${{github.workspace}}/coverage.xml:coverage.py
debug: true
prefix: ${{github.workspace}}