-
Notifications
You must be signed in to change notification settings - Fork 11
149 lines (123 loc) · 3.76 KB
/
wheels.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
137
138
139
140
141
142
143
144
145
146
147
148
149
name: Build wheels and publish to PyPI
on:
release:
types: [published]
jobs:
build_wheels:
name: Build wheels
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build wheel
run: |
python -m pip install build
python -m build --wheel --sdist --outdir wheelhouse
- name: Store wheels
uses: actions/upload-artifact@v4
with:
name: wheels
path: wheelhouse/*
test_unix_wheels:
needs: build_wheels
name: Test wheels on ${{ matrix.os }} with ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, macOS-11]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: actions/download-artifact@v4
with:
name: wheels
path: wheelhouse
- name: Get wheel filename
run: echo "WHEELNAME=$(ls ./wheelhouse/scikit_base-*none-any.whl)" >> $GITHUB_ENV
- name: Install wheel and extras
run: python -m pip install "${{ env.WHEELNAME }}[all_extras,dev]"
- name: Run tests
run: |
python -m pytest
test_windows_wheels:
needs: build_wheels
name: Test wheels on ${{ matrix.os }} with ${{ matrix.python-version }}
runs-on: windows-2019
strategy:
matrix:
include:
# Window 64 bit
- os: windows-2019
python: 38
python-version: '3.8'
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 39
python-version: '3.9'
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 310
python-version: '3.10'
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 311
python-version: 3.11
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 312
python-version: 3.12
bitness: 64
platform_id: win_amd64
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: test
auto-update-conda: true
python-version: ${{ matrix.python-version }}
channels: anaconda, conda-forge,
- run: conda --version
- run: which python
- uses: actions/download-artifact@v4
with:
name: wheels
path: wheelhouse
- name: Install conda libpython
run: conda install -c anaconda -n test -y libpython
- name: Display downloaded artifacts
run: ls -l wheelhouse
- name: Get wheel filename
run: echo "WHEELNAME=$(ls ./wheelhouse/scikit_base-*none-any.whl)" >> $env:GITHUB_ENV
- name: Activate conda env
run: conda activate test
- name: Install wheel and extras
run: python -m pip install "${env:WHEELNAME}[all_extras,dev]"
- name: Show conda packages
run: conda list -n test
- name: Run tests
run: |
python -m pytest
upload_wheels:
name: Upload wheels to PyPI
runs-on: ubuntu-latest
needs: [build_wheels,test_unix_wheels,test_windows_wheels]
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
name: wheels
path: wheelhouse
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages_dir: wheelhouse/