-
Notifications
You must be signed in to change notification settings - Fork 0
136 lines (121 loc) · 3.51 KB
/
Tests.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
134
135
136
name: Tests
concurrency:
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
cancel-in-progress: true
on:
push:
branches:
- main
paths-ignore:
- 'doc/**'
- 'notebooks/**'
- 'README.md'
- '.gitignore'
- '.github/workflows/Docs.yml'
- '.github/workflows/Publish.yml'
pull_request:
branches:
- main
paths-ignore:
- 'doc/**'
- 'notebooks/**'
- 'README.md'
- '.gitignore'
- '.github/workflows/Docs.yml'
- '.github/workflows/Publish.yml'
workflow_dispatch:
jobs:
build_dists:
name: Build dists
runs-on: ubuntu-20.04
outputs:
WHEEL_NAME: ${{ steps.dists.outputs.WHEEL_NAME }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
name: Install python
with:
python-version: 3.9
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install twine flake8 build
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
- name: Build dists
id: dists
run: |
python -m build --sdist --wheel
python ci/export_name.py
- name: Check README rendering for PyPI
run: twine check dist/*
- name: Upload sdist result
uses: actions/upload-artifact@v3
with:
name: dists
path: dist/*
if-no-files-found: error
test_sdist:
name: Test dist for cp${{ matrix.python }}-${{ matrix.platform_id }}-${{ matrix.manylinux_image }}
needs: build_dists
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
include:
- os: windows-latest
python: "3.9"
platform_id: win_amd64
- os: windows-latest
python: "3.10"
platform_id: win_amd64
- os: windows-latest
python: "3.11"
platform_id: win_amd64
# Linux 64 bit manylinux2014
- os: ubuntu-latest
python: "3.9"
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: "3.10"
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: "3.11"
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
# MacOS x86_64
- os: macos-latest
python: "3.9"
platform_id: macosx_x86_64
- os: macos-latest
python: "3.10"
platform_id: macosx_x86_64
- os: macos-latest
python: "3.11"
platform_id: macosx_x86_64
steps:
- name: Download sdist
uses: actions/download-artifact@v3
with:
name: dists
path: dist/
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
- name: Run tests
run: |
pip install dist/${{ needs.build_dists.outputs.WHEEL_NAME }}
python -c "from fast_hbcc.tests import run_tests; run_tests()"