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