Skip to content

Commit 479b937

Browse files
Extend testing
1 parent 50b92ce commit 479b937

File tree

1 file changed

+69
-69
lines changed

1 file changed

+69
-69
lines changed

.github/workflows/code.yml

Lines changed: 69 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -49,79 +49,79 @@ jobs:
4949
# name: dist
5050
# path: dist/*
5151

52-
# build:
53-
# strategy:
54-
# fail-fast: false
55-
# matrix:
56-
# os: [ubuntu-latest, windows-latest, macos-13]
57-
# python: [cp37, cp38, cp39, cp310, cp311, cp312]
58-
59-
60-
# include:
61-
# # Put coverage and results files in the project directory for mac
62-
# - os: macos-13
63-
# cov_file: "{project}/dist/coverage.xml"
64-
# results_file: "{project}/dist/pytest-results.xml"
65-
# # And for windows
66-
# - os: windows-latest
67-
# cov_file: "{project}/dist/coverage.xml"
68-
# results_file: "{project}/dist/pytest-results.xml"
69-
# # But put coverage and results files in the output dir mounted in docker for linux
70-
# - os: ubuntu-latest
71-
# cov_file: /output/coverage.xml
72-
# results_file: /output/pytest-results.xml
73-
74-
# name: build/${{ matrix.os }}/${{ matrix.python }}
75-
# runs-on: ${{ matrix.os }}
76-
77-
# steps:
78-
# - name: Checkout Source
79-
# uses: actions/checkout@v4
80-
# with:
81-
# # require history to get back to last tag for version number of branches
82-
# fetch-depth: 0
83-
# submodules: true
52+
build:
53+
strategy:
54+
fail-fast: false
55+
matrix:
56+
os: [ubuntu-latest, windows-latest, macos-13]
57+
python: [cp37, cp38, cp39, cp310, cp311, cp312, cp313]
58+
59+
60+
include:
61+
# Put coverage and results files in the project directory for mac
62+
- os: macos-13
63+
cov_file: "{project}/dist/coverage.xml"
64+
results_file: "{project}/dist/pytest-results.xml"
65+
# And for windows
66+
- os: windows-latest
67+
cov_file: "{project}/dist/coverage.xml"
68+
results_file: "{project}/dist/pytest-results.xml"
69+
# But put coverage and results files in the output dir mounted in docker for linux
70+
- os: ubuntu-latest
71+
cov_file: /output/coverage.xml
72+
results_file: /output/pytest-results.xml
8473

85-
# - name: Install Python
86-
# uses: actions/setup-python@v4
87-
# with:
88-
# python-version: "3.12"
74+
name: build/${{ matrix.os }}/${{ matrix.python }}
75+
runs-on: ${{ matrix.os }}
8976

90-
# - name: Install Python Dependencies
91-
# # cibuildwheel 3.0.0 dropped support for Python 3.7. We still want to
92-
# # support 3.7 for the time being.
93-
# run: pip install build cibuildwheel==2.23.3
77+
steps:
78+
- name: Checkout Source
79+
uses: actions/checkout@v4
80+
with:
81+
# require history to get back to last tag for version number of branches
82+
fetch-depth: 0
83+
submodules: true
9484

95-
# - name: Build Wheel
96-
# run: cibuildwheel --output-dir dist
97-
# env:
98-
# CIBW_BUILD: ${{ matrix.python }}*64
99-
# CIBW_TEST_EXTRAS: dev
100-
# # Added a sleep command afterwards to let all cleanup finish; sometimes
101-
# # cibuildwheel reports it cannot clean up the temp dir used for testing,
102-
# # and fails the build. Sleeping seems to give pytest enough time to
103-
# # fully clean up.
104-
# CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }} && sleep 2
105-
# # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...
106-
# CIBW_TEST_COMMAND_WINDOWS: python -X faulthandler -m pytest -s {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
107-
# # Disable auditwheel as it isn't compatible with setuptools_dso approach
108-
# # https://github.com/mdavidsaver/setuptools_dso/issues/17
109-
# CIBW_REPAIR_WHEEL_COMMAND: ""
110-
# CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
111-
# CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
112-
# CIBW_SKIP: "*-musllinux*" # epicscorelibs doesn't build on musllinux platforms
113-
114-
# - name: Upload Wheel
115-
# uses: actions/upload-artifact@v4
116-
# with:
117-
# name: dist-${{ matrix.os }}-${{ matrix.python }}
118-
# path: dist/softioc*
85+
- name: Install Python
86+
uses: actions/setup-python@v4
87+
with:
88+
python-version: "3.12"
89+
90+
- name: Install Python Dependencies
91+
# cibuildwheel 3.0.0 dropped support for Python 3.7. We still want to
92+
# support 3.7 for the time being.
93+
run: pip install build cibuildwheel==2.23.3
94+
95+
- name: Build Wheel
96+
run: cibuildwheel --output-dir dist
97+
env:
98+
CIBW_BUILD: ${{ matrix.python }}*64
99+
CIBW_TEST_EXTRAS: dev
100+
# Added a sleep command afterwards to let all cleanup finish; sometimes
101+
# cibuildwheel reports it cannot clean up the temp dir used for testing,
102+
# and fails the build. Sleeping seems to give pytest enough time to
103+
# fully clean up.
104+
CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }} && sleep 2
105+
# Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...
106+
CIBW_TEST_COMMAND_WINDOWS: python -X faulthandler -m pytest -s {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
107+
# Disable auditwheel as it isn't compatible with setuptools_dso approach
108+
# https://github.com/mdavidsaver/setuptools_dso/issues/17
109+
CIBW_REPAIR_WHEEL_COMMAND: ""
110+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
111+
CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
112+
CIBW_SKIP: "*-musllinux*" # epicscorelibs doesn't build on musllinux platforms
113+
114+
- name: Upload Wheel
115+
uses: actions/upload-artifact@v4
116+
with:
117+
name: dist-${{ matrix.os }}-${{ matrix.python }}
118+
path: dist/softioc*
119119

120-
# - name: Upload coverage to Codecov
121-
# uses: codecov/codecov-action@v4
122-
# with:
123-
# name: ${{ matrix.os }}/${{ matrix.python }}
124-
# directory: dist
120+
- name: Upload coverage to Codecov
121+
uses: codecov/codecov-action@v4
122+
with:
123+
name: ${{ matrix.os }}/${{ matrix.python }}
124+
directory: dist
125125

126126
# test-sdist:
127127
# needs: [sdist]

0 commit comments

Comments
 (0)