-
Notifications
You must be signed in to change notification settings - Fork 61
84 lines (73 loc) · 2.76 KB
/
tox-tests.yml
File metadata and controls
84 lines (73 loc) · 2.76 KB
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
79
80
81
82
83
84
# This Software (Dioptra) is being made available as a public service by the
# National Institute of Standards and Technology (NIST), an Agency of the United
# States Department of Commerce. This software was developed in part by employees of
# NIST and in part by NIST contractors. Copyright in portions of this software that
# were developed by NIST contractors has been licensed or assigned to NIST. Pursuant
# to Title 17 United States Code Section 105, works of NIST employees are not
# subject to copyright protection in the United States. However, NIST may hold
# international copyright in software created by its employees and domestic
# copyright (or licensing rights) in portions of software that were assigned or
# licensed to NIST. To the extent that NIST holds copyright in this software, it is
# being made available under the Creative Commons Attribution 4.0 International
# license (CC BY 4.0). The disclaimers of the CC BY 4.0 license apply to all parts
# of the software developed or licensed by NIST.
#
# ACCESS THE FULL CC BY 4.0 LICENSE HERE:
# https://creativecommons.org/licenses/by/4.0/legalcode
name: Tox tests
on:
push:
branches:
- "**"
tags:
- "*.*.*"
jobs:
linting-and-style-checks:
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ["3.11"]
tox-testenv:
- "format"
- "gitlint"
- "lint"
- "mypy"
steps:
- uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
python-version: ${{ matrix.python-version }}
- name: run tox
run: uvx -p ${{ matrix.python-version }} tox run -e ${{ matrix.tox-testenv }}
unit-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["ubuntu-24.04", "windows-latest"]
python-version: ["3.11"]
tox-testenv:
- "clean,pytest-cov,report"
- "pytest-cookiecutter"
- "pytest-extra"
steps:
- uses: actions/checkout@v6
- name: install English words dictionary
if: ${{ matrix.os == 'ubuntu-24.04' }}
run: sudo apt install -y wamerican
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
python-version: ${{ matrix.python-version }}
- name: run tox
run: uvx -p ${{ matrix.python-version }} tox run -e ${{ matrix.tox-testenv }}
- name: archive the code coverage results
if: ${{ contains(matrix.tox-testenv, 'pytest-cov') }}
uses: actions/upload-artifact@v6
with:
name: code-coverage-report-${{ matrix.os }}-${{ matrix.python-version }}
path: coverage