Skip to content

Commit c8b5cbc

Browse files
Temporary CI to test epicscorelibs PR
1 parent 54435ca commit c8b5cbc

File tree

1 file changed

+159
-158
lines changed

1 file changed

+159
-158
lines changed

.github/workflows/code.yml

Lines changed: 159 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -13,163 +13,163 @@ on:
1313
- cron: '0 8 * * MON'
1414

1515
jobs:
16-
lint:
17-
runs-on: "ubuntu-latest"
18-
steps:
19-
- name: Checkout Source
20-
uses: actions/checkout@v4
21-
22-
- name: Install Python
23-
uses: actions/setup-python@v4
24-
with:
25-
python-version: "3.12"
26-
27-
- name: Install Python Dependencies
28-
run: pip install flake8
29-
30-
- name: Lint
31-
run: flake8
32-
33-
sdist:
34-
runs-on: "ubuntu-latest"
35-
steps:
36-
- name: Checkout Source
37-
uses: actions/checkout@v4
38-
with:
39-
# require history to get back to last tag for version number of branches
40-
fetch-depth: 0
41-
submodules: true
42-
43-
- name: Build Sdist
44-
run: pipx run build --sdist .
45-
46-
- name: Upload Sdist
47-
uses: actions/upload-artifact@v4
48-
with:
49-
name: dist
50-
path: dist/*
51-
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
84-
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*
119-
120-
- name: Upload coverage to Codecov
121-
uses: codecov/codecov-action@v4
122-
with:
123-
name: ${{ matrix.os }}/${{ matrix.python }}
124-
directory: dist
125-
126-
test-sdist:
127-
needs: [sdist]
128-
strategy:
129-
fail-fast: false
130-
matrix:
131-
os: [ubuntu-latest, windows-latest, macos-13]
132-
python: [cp37, cp38, cp39, cp310, cp311, cp312]
133-
134-
runs-on: ${{ matrix.os }}
135-
136-
steps:
137-
- uses: actions/download-artifact@v4
138-
with:
139-
name: dist
140-
path: dist
141-
142-
- name: Install sdist in a venv and check cli works
143-
run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
144-
shell: bash
145-
146-
release:
147-
needs: [build, sdist]
148-
runs-on: ubuntu-latest
149-
# upload to PyPI and make a release on every tag
150-
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
151-
steps:
152-
- uses: actions/download-artifact@v4
153-
with:
154-
pattern: dist*
155-
path: dist
156-
merge-multiple: true
157-
158-
- name: Github Release
159-
# We pin to the SHA, not the tag, for security reasons.
160-
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
161-
uses: softprops/action-gh-release@2d72d869af3bf23602f9593a1e3fd739b80ac1eb # v0.1.12
162-
with:
163-
files: dist/*
164-
body: See [Changelog](CHANGELOG.rst) for more details
165-
env:
166-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
167-
168-
- name: Publish to PyPI
169-
env:
170-
TWINE_USERNAME: __token__
171-
TWINE_PASSWORD: ${{ secrets.pypi_token }}
172-
run: pipx run twine upload dist/*
16+
# lint:
17+
# runs-on: "ubuntu-latest"
18+
# steps:
19+
# - name: Checkout Source
20+
# uses: actions/checkout@v4
21+
22+
# - name: Install Python
23+
# uses: actions/setup-python@v4
24+
# with:
25+
# python-version: "3.12"
26+
27+
# - name: Install Python Dependencies
28+
# run: pip install flake8
29+
30+
# - name: Lint
31+
# run: flake8
32+
33+
# sdist:
34+
# runs-on: "ubuntu-latest"
35+
# steps:
36+
# - name: Checkout Source
37+
# uses: actions/checkout@v4
38+
# with:
39+
# # require history to get back to last tag for version number of branches
40+
# fetch-depth: 0
41+
# submodules: true
42+
43+
# - name: Build Sdist
44+
# run: pipx run build --sdist .
45+
46+
# - name: Upload Sdist
47+
# uses: actions/upload-artifact@v4
48+
# with:
49+
# name: dist
50+
# path: dist/*
51+
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
84+
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*
119+
120+
# - name: Upload coverage to Codecov
121+
# uses: codecov/codecov-action@v4
122+
# with:
123+
# name: ${{ matrix.os }}/${{ matrix.python }}
124+
# directory: dist
125+
126+
# test-sdist:
127+
# needs: [sdist]
128+
# strategy:
129+
# fail-fast: false
130+
# matrix:
131+
# os: [ubuntu-latest, windows-latest, macos-13]
132+
# python: [cp37, cp38, cp39, cp310, cp311, cp312]
133+
134+
# runs-on: ${{ matrix.os }}
135+
136+
# steps:
137+
# - uses: actions/download-artifact@v4
138+
# with:
139+
# name: dist
140+
# path: dist
141+
142+
# - name: Install sdist in a venv and check cli works
143+
# run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
144+
# shell: bash
145+
146+
# release:
147+
# needs: [build, sdist]
148+
# runs-on: ubuntu-latest
149+
# # upload to PyPI and make a release on every tag
150+
# if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
151+
# steps:
152+
# - uses: actions/download-artifact@v4
153+
# with:
154+
# pattern: dist*
155+
# path: dist
156+
# merge-multiple: true
157+
158+
# - name: Github Release
159+
# # We pin to the SHA, not the tag, for security reasons.
160+
# # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
161+
# uses: softprops/action-gh-release@2d72d869af3bf23602f9593a1e3fd739b80ac1eb # v0.1.12
162+
# with:
163+
# files: dist/*
164+
# body: See [Changelog](CHANGELOG.rst) for more details
165+
# env:
166+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
167+
168+
# - name: Publish to PyPI
169+
# env:
170+
# TWINE_USERNAME: __token__
171+
# TWINE_PASSWORD: ${{ secrets.pypi_token }}
172+
# run: pipx run twine upload dist/*
173173

174174
# Check that the master branches of various upstream dependencies are
175175
# still compatible when used together
@@ -191,7 +191,8 @@ jobs:
191191

192192
- name: Install master versions
193193
run: |
194-
pip install git+https://github.com/epics-base/p4p.git git+https://github.com/epics-base/pvxs.git git+https://github.com/epics-base/epicscorelibs.git
194+
pip install git+https://github.com/epics-base/p4p.git git+https://github.com/epics-base/pvxs.git
195+
pip install git+https://github.com/epics-base/epicscorelibs.git@fix-compiler-detection
195196
pip install git+https://github.com/DiamondLightSource/aioca git+https://github.com/DiamondLightSource/cothread
196197
pip install -e .[dev]
197198
pip freeze

0 commit comments

Comments
 (0)