-
Notifications
You must be signed in to change notification settings - Fork 4
78 lines (67 loc) · 1.94 KB
/
pytest_fast.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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Pytest (Fast)
on:
push:
branches:
- main
pull_request:
jobs:
test-build:
name: Build and Inspect Python Package
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Poetry
uses: Gr1N/setup-poetry@v9
with:
poetry-version: "1.8.4"
- name: Check Poetry lock file is current
run: poetry check
- uses: hynek/build-and-inspect-python-package@v2
env:
# Pass in dummy version '0.0.0dev0' version to appease dynamic versioning
POETRY_DYNAMIC_VERSIONING_BYPASS: 0.0.0dev0
- uses: actions/upload-artifact@v4
with:
name: Packages-${{ github.run_id }}
path: |
/tmp/baipp/dist/*.whl
/tmp/baipp/dist/*.tar.gz
pytest-fast:
name: Pytest (Fast)
runs-on: ubuntu-latest
steps:
# Common steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Poetry
uses: Gr1N/setup-poetry@v9
with:
poetry-version: "1.8.4"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "poetry"
- name: Install dependencies
run: poetry install --all-extras
- name: Run Pytest with Coverage (Fast Tests Only)
timeout-minutes: 20
run: >
poetry run coverage run -m pytest
--durations=5 --exitfirst
-m "not slow"
- name: Print Coverage Report
if: always()
run: poetry run coverage report
- name: Create Coverage Artifacts
if: always()
run: |
poetry run coverage html -d htmlcov
poetry run coverage xml -o htmlcov/coverage.xml
- name: Upload coverage to GitHub Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: fasttest-coverage
path: htmlcov/