Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: pcds-5.9.0 #341

Merged
merged 24 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5b4038e
ENH: add requested packages and nitpick conda vs pypi and keep updated
ZLLentz Aug 22, 2024
a655445
BLD: update pins
ZLLentz Aug 22, 2024
e29d659
SEC: clear and update security pins to likely the minimum needed
ZLLentz Aug 22, 2024
cb917ae
FIX: switch get_extras to standard parsing for better robustness
ZLLentz Aug 23, 2024
4ed4bda
ENH: add py-trees!
ZLLentz Aug 23, 2024
f7da250
BLD: update pins
ZLLentz Aug 26, 2024
277a238
BLD: pin matplotlib back until dependencies all use matplotlib-base
ZLLentz Aug 26, 2024
30e82b8
WIP: temporary pins section
ZLLentz Aug 26, 2024
322bafe
BLD: avoid bluesky incompat
ZLLentz Aug 26, 2024
d331b29
BLD: force the qt5 opencv builds
ZLLentz Aug 26, 2024
f6a696f
TST: don't fail the build on too-noisy pip check for bad pkg metadata
ZLLentz Aug 27, 2024
7beae76
CI: try more intricate sequencing: only do certain steps when main bu…
ZLLentz Aug 27, 2024
8b94535
ENH/CI: include pip checking in the readiness builds too
ZLLentz Aug 27, 2024
2b515d9
BLD: update pinning
ZLLentz Aug 27, 2024
9366407
CI: typo in readiness checks for pypi
ZLLentz Aug 27, 2024
ca4c849
BLD: drop matplotlib pin, accept databroker pin for a bit longer
ZLLentz Aug 27, 2024
c39e3fe
TST: include security pins in the conda py compat checks to better te…
ZLLentz Aug 27, 2024
64751cb
BLD: pin matplotlib for consistency
ZLLentz Aug 27, 2024
f92cba1
CI: run env export through the script that includes the pip git installs
ZLLentz Aug 27, 2024
6fc4abd
DOC: see how the release notes look if we start with added packages (…
ZLLentz Aug 27, 2024
d443233
FIX: wrong order for inline spec + file spec
ZLLentz Aug 27, 2024
5466d88
BLD: build pcds-5.9.0 locally and export yaml
ZLLentz Aug 28, 2024
0a6366d
CI: try to fix ci versino of export env
ZLLentz Aug 28, 2024
6522242
DOC: typo in docstring
ZLLentz Aug 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 84 additions & 18 deletions .github/workflows/integration_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,14 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
id: create
run: mamba env create -q -n pcds-test -f envs/pcds/env.yaml
- uses: ./.github/actions/finalize_and_check_env
- uses: ./.github/actions/run_tests
with:
use-tag: true
- uses: ./.github/actions/release_notes
if: always()
if: steps.create.outcome == 'success'
# The env from current-env-tests + the latest tags slapped onto it
py39-next-incr:
defaults:
Expand All @@ -45,6 +46,7 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
id: create
run: |
cd scripts
python update_tags.py pcds
Expand All @@ -54,15 +56,18 @@ jobs:
with:
use-tag: true
- uses: ./.github/actions/release_notes
if: always()
if: steps.create.outcome == 'success'
- name: Environment Export
if: always()
run: conda env export --file export.yaml
id: export
if: steps.create.outcome == 'success'
run: |
conda activate base
python scripts/export_env.py --rel test --base pcds
- uses: actions/upload-artifact@v4
if: always()
if: steps.export.outcome == 'success'
with:
name: incr_env.yaml
path: "export.yaml"
path: "envs/pcds/env.yaml"
# Start from scratch to get some py39 testing done
# This is a fallback alternative to py39-next-incr, which is preferred
py39-next-full:
Expand All @@ -76,6 +81,7 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
id: create
run: |
cd scripts
python update_tags.py pcds
Expand All @@ -85,15 +91,18 @@ jobs:
with:
use-tag: true
- uses: ./.github/actions/release_notes
if: always()
if: steps.create.outcome == 'success'
- name: Environment Export
if: always()
run: conda env export --file export.yaml
id: export
if: steps.create.outcome == 'success'
run: |
conda activate base
python scripts/export_env.py --rel test --base pcds
- uses: actions/upload-artifact@v4
if: always()
if: steps.export.outcome == 'success'
with:
name: next_env.yaml
path: "export.yaml"
name: py39_env.yaml
path: "envs/pcds/env.yaml"
# Try to build a python 3.10 env
py310-next-full:
defaults:
Expand All @@ -106,6 +115,7 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
id: create
run: |
cd scripts
python update_tags.py pcds
Expand All @@ -115,7 +125,18 @@ jobs:
with:
use-tag: true
- uses: ./.github/actions/release_notes
if: always()
if: steps.create.outcome == 'success'
- name: Environment Export
id: export
if: steps.create.outcome == 'success'
run: |
conda activate base
python scripts/export_env.py --rel test --base pcds
- uses: actions/upload-artifact@v4
if: steps.export.outcome == 'success'
with:
name: py310_env.yaml
path: "envs/pcds/env.yaml"
# Try to build a python 3.11 env
py311-next-full:
defaults:
Expand All @@ -128,6 +149,7 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
id: create
run: |
cd scripts
python update_tags.py pcds
Expand All @@ -137,7 +159,18 @@ jobs:
with:
use-tag: true
- uses: ./.github/actions/release_notes
if: always()
if: steps.create.outcome == 'success'
- name: Environment Export
id: export
if: steps.create.outcome == 'success'
run: |
conda activate base
python scripts/export_env.py --rel test --base pcds
- uses: actions/upload-artifact@v4
if: steps.export.outcome == 'success'
with:
name: py311_env.yaml
path: "envs/pcds/env.yaml"
py312-next-full:
defaults:
run:
Expand All @@ -149,6 +182,7 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
id: create
run: |
cd scripts
python update_tags.py pcds
Expand All @@ -158,7 +192,18 @@ jobs:
with:
use-tag: true
- uses: ./.github/actions/release_notes
if: always()
if: steps.create.outcome == 'success'
- name: Environment Export
id: export
if: steps.create.outcome == 'success'
run: |
conda activate base
python scripts/export_env.py --rel test --base pcds
- uses: actions/upload-artifact@v4
if: steps.export.outcome == 'success'
with:
name: py312_env.yaml
path: "envs/pcds/env.yaml"
# Checks which packages are not ready yet for py310
py310-readiness:
needs: py310-next-full
Expand All @@ -170,10 +215,17 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/conda_setup
- name: check packages
- name: check packages conda
run: |
cd scripts
./check_py_compat.sh pcds 3.10 | tee ~/compat.log
- name: check packages pip
if: always()
run: |
conda create --name test python=3.10
conda activate test
cd scripts
./check_py_compat_pypi.sh pcds | tee -a ~/compat.log
- name: summarize failure
if: failure()
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY"
Expand All @@ -188,10 +240,17 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/conda_setup
- name: check packages
- name: check packages conda
run: |
cd scripts
./check_py_compat.sh pcds 3.11 | tee ~/compat.log
- name: check packages pip
if: always()
run: |
conda create --name test python=3.11
conda activate test
cd scripts
./check_py_compat_pypi.sh pcds | tee -a ~/compat.log
- name: summarize failure
if: failure()
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY"
Expand All @@ -205,10 +264,17 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/conda_setup
- name: check packages
- name: check packages conda
run: |
cd scripts
./check_py_compat.sh pcds 3.12 | tee ~/compat.log
- name: check packages pip
if: always()
run: |
conda create --name test python=3.12
conda activate test
cd scripts
./check_py_compat_pypi.sh pcds | tee -a ~/compat.log
- name: summarize failure
if: failure()
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY"
56 changes: 28 additions & 28 deletions envs/pcds/conda-packages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@ ads-async>=0.3.1
anaconda-client>=1.12.3
apischema>=0.18.0
archapp>=1.1.0
atef>=1.4.0
atef>=1.5.0
atlassian-python-api>=3.41.14
black>=24.8.0
blark>=0.8.1
bluesky-live>=0.0.8
bluesky-queueserver>=0.0.18
bluesky-widgets>=0.0.14
bokeh>=1.0.1
botorch>=0.4.0
caproto>=1.1.1
coloredlogs>=15.0.1
conda-pack>=0.8.0
conda-smithy>=3.38.0
conda-smithy>=3.39.0
cookiecutter>=2.1.1
coverage>=7.6.1
cython>=0.29.34
datashader>=0.14.4
elog>=1.2.3
Expand All @@ -25,51 +25,51 @@ flake8>=7.1.1
flask>=3.0.3
fzf>=0.54.3
gdb>=15.1
gh>=2.54.0
gh>=2.55.0
ghapi>=1.0.5
gpytorch>=1.4.2
grpcio-tools>=1.51.1
h5py>=3.3.0
happi>=2.5.0
hklpy>=1.1.1
holoviews>=1.10.9
hutch-python>=1.20.0
hutch-python>=1.21.0
hxrsnd>=0.3.1
isort>=5.13.2
jupyter>=1.0.0
krtc>=0.3.0
lightpath>=1.0.4
line_profiler>=4.1.1
lucid>=0.10.3
lucid>=0.11.0
lxml>=4.8.0
memray>=1.13.4
mysqlclient>=2.0.3
nabs>=1.5.4
nabs>=1.5.5
numpy>=1.14,<2.0.0
opencv>=4.5.1
opencv>=4.5.1[build='^qt5.*$']
openssl>=3.3.1
pandas>=1.5.3
panel>=0.14.4
papermill>=2.3.4
paramiko>=3.1.0
pcaspy>=0.7.3
pcdscalc>=0.5.1
pcdsdaq>=2.4.3
pcdsdevices>=8.4.0
pcdscalc>=0.6.0
pcdsdaq>=2.4.4
pcdsdevices>=8.5.0
pcdsutils>=0.14.1
pcdswidgets>=0.8.3
periodictable>=1.5.2
pipdeptree>=2.23.1
pmgr>=2.1.3
pmpsdb_client>=1.2.0
pre-commit>=3.8.0
psdaq-control-minimal>=3.3.38
psdm_qs_cli>=0.3.7
pswalker>=1.0.8
psdaq-control-minimal>=4.1.2
psdm_qs_cli>=0.3.8
pswalker>=1.0.10
pyaudio>=0.2.13
pyca>=3.2.1
pycln>=2.4.0
pydm>=1.24.1
pyepics>=3.5.6
pyepics>=3.5.7
pyfiglet>=0.8
pymongo>=4.3.3
py-spy>=0.3.14
Expand All @@ -90,8 +90,11 @@ scikit-image>=0.19.3
scikit-learn>=1.2.2
scipy>=1.10.1
seaborn>=0.12.2
shapely
shellcheck>=0.10.0
simplejson>=3.19.1
sphinx>=7
sphinx_rtd_theme>=2.0.0
spyder-kernels>=2.4.3
suitcase-csv>=0.3.0
suitcase-json-metadata>=0.2.1
Expand All @@ -102,8 +105,8 @@ suitcase-specfile>=0.2.5
suitcase-tiff>=0.4.0
timechart>=1.5.3
toml>=0.10.2
transfocate>=0.5.8
typhos>=3.1.1
transfocate>=0.5.9
typhos>=4.0.0
whatrecord>=0.6.0
xarray>=2023.3.0
xraylib>=4.1.3
Expand All @@ -114,19 +117,16 @@ pyqt=5.15.9
pyqtwebengine=5.15.9
# conda+pip regressive pins
# avoids bluesky v1.11.0 which breaks nabs
bluesky=1.10.0
# coverage 7.4.2 does not have a py39 build on conda
coverage=7.4.1
# avoids pre-releases of v2
databroker<2.0.0
bluesky-base=1.10.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also pins bluesky (non-base), which has a strict bluesky-base pin. So the comment here makes sense 👍

# non-tiled databroker required in conda-packages if any package has databroker as a dep
databroker=1.2.5
# ipython changes make scientists upset and can break experiments
ipython=8.4.0
# matplotlib conda pin can be removed once all conda dependencies specify matplotlib-base
matplotlib=3.8.4
# most of the ecosystem is not ready for numpy 2.0
numpy=1.26.4
# avoids ophyd v1.8.0 which I have not had time to test
ophyd=1.7.0
# force a newer perl build (temporary pin, can remove later if you read this line)
perl=5.32.1=7_hd590300_perl5
# pin for gui interface stability
qtpy=2.1.0
# sphinx 7.0.0 incompatible with rtd theme at 1.2.0, temporarily pin both
sphinx<7
sphinx_rtd_theme=1.2.0
Loading
Loading