-
Notifications
You must be signed in to change notification settings - Fork 111
135 lines (108 loc) · 3.26 KB
/
build.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: build
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python: ['3.8', '3.9', '3.10', '3.11', '3.12', 'pypy3.9']
architecture: [x86, x64]
exclude:
- os: ubuntu-latest
architecture: x86
- os: macos-latest
architecture: x86
- os: windows-latest
python: pypy3
- os: macos-latest
python: pypy3
- os: macos-latest
python: 3.8
- os: macos-latest
python: 3.9
- os: macos-latest
python: 3.10
name: ${{ matrix.os }} Py ${{ matrix.python }} ${{ matrix.architecture }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: ${{ matrix.architecture }}
- name: Install python dependencies
run: |
python -m pip install --upgrade pip setuptools poetry
poetry update
- name: Run pre-commit
if: "!startsWith(matrix.python, 'pypy') && !startsWith(matrix.python, '3.7') && !startsWith(matrix.python, '3.8')"
run: |
python -m pip install pre-commit
pre-commit run --all-files
- name: Run unit tests
run: poetry run pytest
build:
#needs: test
runs-on: ubuntu-latest
name: Build Python source .tar.gz
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Build source package
run: |
python -m pip install --upgrade pip setuptools poetry
poetry build
- name: Upload source package
uses: actions/upload-artifact@v4
with:
name: fido2-python-sdist
path: dist
docs:
runs-on: ubuntu-latest
name: Build sphinx documentation
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Build sphinx documentation
run: poetry run make -C docs/ html
- name: Upload documentation
uses: actions/upload-artifact@v4
with:
name: python-fido2-docs
path: docs/_build/html
docs_win:
runs-on: windows-latest
name: Build sphinx documentation on Windows
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install python dependencies
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Build sphinx documentation
shell: bash
run: poetry run make -C docs/ html
- name: Upload documentation
uses: actions/upload-artifact@v4
with:
name: python-fido2-docs-win
path: docs/_build/html