-
Notifications
You must be signed in to change notification settings - Fork 9
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
BLD/REL: pcds-5.8.0 #302
BLD/REL: pcds-5.8.0 #302
Conversation
This is a no go for now- it will require some work in lucid at minimum. We either need to update to the new qtads api and do the associated tests/bugfixes or we need to strip it out altogether, which seems reasonable because it's caused a lot of trouble, but also feels bad because it gives us some seemingly useful functionality. There will be a separate PR for a much less ambitious update, and then a third PR to "queue up" this ambitious update again for when we decide what to do with lucid. |
…ild/test failures
I'm going to try again here given the terrible situation in #303 I'm going to re-open as is and then look closely at pcdshub/lucid#126 |
I had started doing the following in typhos, after observing the same: |
Some environment oddities found/understood from further investigation: The following added packages have no "someone asked for me" information in the final env, and here are their stories:
The following packages were uninstalled/reinstalled by pip after being installed by conda:
|
RIP my boi |
The gammaray conda build dependencies are very restrictive. There's only one version available and it requires a specific qt version.
|
I should have included this as a line-item in the PR, editing now |
I made a pmps-ui PR that manages to avoid the new C++ qt error spam by just "not using partials", which is good practice anyway as we've been discussing offline. I think since the solution is in line with other good coding practices I'm not too concerned about it. I'll start tracking down the other most egregious examples parallel to this PR. If those finish in time we can include them in the env along with any other adjustments that seem simple, otherwise they can go into the dev env and we can try out the semi-automatic environment building mechanisms. |
I'm a maintainer on those feedstocks now. I rebuilt p4p to support multiple epicscorelibs versions a while back - we should double-check our pins on everything and probably do a similar multi-version support method. |
I peeked around the various repos and I think they're all packaged correctly (with one small error on pmgr), and it's just here in pcds-envs that it's pinned too narrowly. I suspect it's time to remove the epicscorelibs pin altogether. p4p's build matrix: https://github.com/conda-forge/p4p-feedstock/blob/main/recipe/conda_build_config.yaml the probable mistake: https://github.com/pcdshub/pmgr/blob/ff674f427819381b0880ef45706486465449514f/requirements.txt#L2 |
Optional things to consider doing prior to tagging:
|
@@ -61,6 +62,7 @@ gammaray | |||
gdb | |||
gh | |||
isort | |||
line_profiler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commenting here but really for line 61 further up. Gammaray isn't in the env anymore is it? It's still included here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch, I'll drop it from this file
All of the current env tests pass on CI and on psbuild-rhel7 and I think the environment is good |
Saving people some scrolling: py39 next full: fails on pip audit looks like otherwise tests actually pass 🎉 |
I'm hoping that the urllib3 pip audit goes away from these other builds once the next version releases on conda-forge, since the fix is in the next tag on pypi. I'm being slightly lazy in not forcing the urllib pypi build and just expecting that this will be available in conda-forge soon. I manually installed the fix using pip in the current env. |
The only things I've noticed running interactively are:
|
the annoying user warning happens on opening atef too, so I'm going to modify the env and hope openblas vs mkl doesn't make a huge difference before doing that I'm also going to make sure clicking around on lucid screen buttons still works because earlier I was having trouble opening the pmps-ui from lucid |
The pmps-ui buttons on the lucid screens assume that you have PYDM_DISPLAYS_PATH set appropriately, so they weren't working for me until I set that. Very annoying. I will update to remove the pandas user warning and we'll roll the tests one more time. |
it passed again, I'll cross-check the auto release notes with what's already in this PR's description but after that there aren't any more issues that I know about |
I personally want to merge/tag and get this out there prior to the power being fully restored. We can roll back the default environment later if need be, or we can have a follow-up as needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. We've run the env through it's paces and I've looked through the diff. Rolling back in cases of emergency sounds good to me
I don't really know what to make of the massive changes that were introduced by the few desired package changes here... It seems like you guys have been testing this out with good results, though, so I'm 👍 overall |
Let's do the tl;dr for why the change is big, since I probably need to write one up for the release notes anyway. The main goal of this release is to update from the EOL openssl 1.1.1 chain which may stop getting security updates, or any updates altogether. https://www.openssl.org/blog/blog/2023/09/11/eol-111/ I have only a cursory understanding of the underlying technical details here, but the jist of it is that a lot of compiled package builds only support either openssl=1.1.1 or openssl >=3.0.0, and there is a transition point between the two. One such package is qt, which caused some tremors through the environment as we needed to update from 5.12 to 5.15. I think a lot of the resulting updates had huge shakeups in the dependency chains. |
This is a new conda environment as described in https://jira.slac.stanford.edu/browse/ECS-3893
This closes the following issues:
closes #217 by removing the last remaining pin, leaning on the whatrecord recipe instead
closes #233 by testing this env with pyqt 5.15 and trusting Jessie's ACR pydm env that has 5.15 too
closes #250 by putting minimum pins on all packages, aligned with pcds-5.7.3's versions
closes #253 by having all the tests pass
closes #258 by confirming that a python 3.11 build is possible
closes #269 by adding pyqtwebengine
closes #288 by switching the deploy cleanup logic as described in the issue
closes #297 by switching tc-release from the missing conda builds to the not-missing pypi builds
closes #298 by having all the tests pass
closes #299 by switching whatrecord and epicsmacrolib to the conda-forge variants
I've also:
To make this environment, we had to solve a 3-way conflict between openssl, qtads, and openldap. We decided to remove python-ldap as the current compromise (whatrecord and ads-log-daemon will need to run in standalone environments)
It might be possible to bring this back in new versions or when we implement #301
This is not an incremental release, so it should be subject to larger scrutiny than normal.
I think there were a lot of package renames that happened between these versions which bloats the release notes table a bit. I'm going to spend at least some time cleaning up the output.
PCDS Package Updates
https://github.com/klauer/blark/releases/tag/v0.7.1
https://github.com/pcdshub/hutch-python/releases/tag/v1.18.5
https://github.com/pcdshub/hxrsnd/releases/tag/v0.3.1
https://github.com/pcdshub/lucid/releases/tag/v0.10.2
https://github.com/pcdshub/pcdsdevices/releases/tag/v8.1.0
https://github.com/pcdshub/pcdsutils/releases/tag/v0.13.0
https://github.com/pcdshub/pcdsutils/releases/tag/v0.14.0
https://github.com/pcdshub/pcdswidgets/releases/tag/v0.8.2
SLAC Package Updates
Lab Community Package Updates
Python Community Core Package Updates
Other Python Community Major Updates
Packages With Degraded Versions
Added the Following Packages
Added the Following Dependencies
Removed the Following Packages