Skip to content

Commit 77b232a

Browse files
Add installation from Github for upstream packages
This should allow us to spot upcoming issues before releases are made
1 parent 35bb833 commit 77b232a

File tree

1 file changed

+33
-5
lines changed

1 file changed

+33
-5
lines changed

.github/workflows/code.yml

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ jobs:
5656
os: [ubuntu-latest, windows-latest, macos-13]
5757
python: [cp37, cp38, cp39, cp310, cp311, cp312]
5858

59-
6059
include:
6160
# Put coverage and results files in the project directory for mac
6261
- os: macos-13
@@ -130,8 +129,8 @@ jobs:
130129
steps:
131130
- uses: actions/download-artifact@v4
132131
with:
133-
name: dist
134-
path: dist
132+
name: dist-${{ matrix.os }}-${{ matrix.python }}
133+
path: dist/softioc*
135134

136135
- name: Install sdist in a venv and check cli works
137136
run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
@@ -145,8 +144,8 @@ jobs:
145144
steps:
146145
- uses: actions/download-artifact@v4
147146
with:
148-
name: dist
149-
path: dist
147+
name: dist-${{ matrix.os }}-${{ matrix.python }}
148+
path: dist/softioc*
150149

151150
- name: Github Release
152151
# We pin to the SHA, not the tag, for security reasons.
@@ -163,3 +162,32 @@ jobs:
163162
TWINE_USERNAME: __token__
164163
TWINE_PASSWORD: ${{ secrets.pypi_token }}
165164
run: pipx run twine upload dist/*
165+
166+
# Check that the master branches of various upstream dependencies are
167+
# still compatible when used together
168+
master_branch_test:
169+
runs-on: "ubuntu-latest"
170+
# TODO: Add if == scheduled run
171+
steps:
172+
- name: Checkout Source
173+
uses: actions/checkout@v4
174+
with:
175+
# require history to get back to last tag for version number of branches
176+
fetch-depth: 0
177+
submodules: true
178+
179+
- name: Install Python
180+
uses: actions/setup-python@v4
181+
with:
182+
python-version: "3.12"
183+
184+
- name: Install master versions
185+
# Note the install order here: By installing p4p first, then pvxs and epicscorelibs using the --no-warn-conflicts
186+
# flag, we can bypass the dependency mismatch which would otherwise be present. We know that the master branches
187+
# *should* always work together, so it's ok to ignore the warnings.
188+
run: |
189+
pip install git+https://github.com/epics-base/p4p.git
190+
pip install --no-warn-conflicts git+https://github.com/epics-base/pvxs.git git+https://github.com/epics-base/epicscorelibs.git
191+
pip install -e .[dev]
192+
pip freeze
193+
python -m pytest

0 commit comments

Comments
 (0)