[DevOps]: Research conda nightly builds for latest main
#269
Replies: 9 comments 1 reply
-
+2 from me! |
Beta Was this translation helpful? Give feedback.
-
While I think having nightly is convenient for using latest build without manual install in the dev env, but for PMP, I have retracted it when we move PMP to conda-forge channel. I think one of the reasons discussed was that with nightly version becomes not very traceable while reproducibility is important for PMP. As PMP is transitioning to build on xCDAT, version tracking of xCDAT would be important to PMP. I think I would prefer the standard way of version releasing, and if we setup nightly release in addition, I think we might want to keep it internally and not advertise too widely. Just my 2 cents. |
Beta Was this translation helpful? Give feedback.
-
Maybe this is a discussion item..? I am in the pro-nightly build camp, but agree that we could and should hide it so that a new user doesn't accidentally install it as their default xcdat instance. |
Beta Was this translation helpful? Give feedback.
-
Yes dependent packages should use tagged versions, not latest head-of-main. |
Beta Was this translation helpful? Give feedback.
-
Thank you @pochedls, @lee1043, and @rljacob, I converted this to a discussion. I agree, the use case for a nightly build should be internal testing and not production usage. If the nightly build is incorrectly used for production, it will quickly result in code divergence since we follow continuous deployment/continuous integration of code changes. If we do have a nightly build, I suggest making it private to select On the other hand, we should encourage contributors to clone the repo and try to submit PRs too! We'll think more about whether or not there is enough value to justify having a nightly build since it involves additional work to manage it. |
Beta Was this translation helpful? Give feedback.
-
I forgot to mention that we have a repository specifically for It includes conda env yml files for building envs with the latest Maybe we should include an environment in the main repo which includes the latest tagged version (aka a production env). |
Beta Was this translation helpful? Give feedback.
-
Hi all, I certainly am keen like @pochedls on having a @mauzey1 ping as he has been managing these builds |
Beta Was this translation helpful? Give feedback.
-
Thanks @durack1. I now recognize the other use case for a This is different from my initial thought, which was having a A |
Beta Was this translation helpful? Give feedback.
-
TLDR: We decided to go with rapid release cycles (more frequent releases on conda) over nightly conda builds. Here are the pros and cons that we listed for nightly conda builds. We found the cons outweighted the pros, and wanted to follow the same convention as most other Python packages. Pros
Cons:
DecisionInstead, we are following rapid releases since we follow continuous integration/continuous deployment.
|
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem?
A nightly build might be helpful for contributors who want to test the latest
main
branch ofxcdat
without having to setup the development environment for this repo.Describe the solution you'd like
One possible way might be to have a GH Actions job that automatically builds a “latest” version of the package and pushes it to Anaconda whenever there is a new commit on
main
.Describe alternatives you've considered
No response
Additional context
@pochedls brought this idea up in our Slack exchange
Beta Was this translation helpful? Give feedback.
All reactions