Opened 6 years ago
Last modified 18 months ago
#3058 assigned enhancement
Automate putting release (and daily) wheels on toolshed
| Reported by: | Conrad Huang | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Tool Shed | Version: | |
| Keywords: | Cc: | Greg Couch | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description (last modified by )
When a release is made, all wheels other than core should be placed on the toolshed so that they can be updated individually. Currently, there is a mechanism for adding selected wheels to the toolshed (see release() in /usr/local/projects/chimerax/www/preview/cxtoolshed3/apps), but requires manual intervention. We should add a command to upload wheels after release according parameters from the command line and a configuration file. The command can be either added to the release-building script, or invoked manually.
The same process may be applied to the daily build. This means changes must be reflected by version numbers. Whether we use a "dev#" as part of the bundle version number should be discussed.
Change History (14)
comment:1 by , 6 years ago
| Component: | Unassigned → Tool Shed |
|---|
comment:2 by , 6 years ago
comment:3 by , 5 years ago
| Milestone: | RC 1 → 1.0 |
|---|
comment:4 by , 5 years ago
| Milestone: | 1.0 → 1.1 |
|---|
comment:5 by , 5 years ago
| Milestone: | 1.1 → 1.2 |
|---|---|
| Priority: | blocker → moderate |
comment:6 by , 5 years ago
| Milestone: | 1.2 → 1.3 |
|---|
comment:8 by , 4 years ago
I'm investigating using CircleCI for continuous integration but I think that exploration could apply here. I'm interested in that platform because it works well for repos that either are or can be thouht of like monorepos -- its workflows allow for certain ones to be run just if a folder changes, which I think is more targeted than GitHub Actions currently allows.
comment:9 by , 3 years ago
| Milestone: | 1.4 → 1.5 |
|---|
comment:10 by , 3 years ago
| Cc: | added |
|---|---|
| Owner: | changed from to |
comment:11 by , 3 years ago
| Milestone: | 1.5 → 1.6 |
|---|
comment:12 by , 3 years ago
| Milestone: | 1.6 → 1.7 |
|---|
comment:13 by , 2 years ago
| Description: | modified (diff) |
|---|---|
| Milestone: | 1.7 → 1.8 |
Many thoughts.
Not sure if we want daily build bundles in the toolshed. We could give the bundles .devTIMESTAMP based on the last git modification to the bundle directory, but the build process would need to change since git is not used in the remote daily build tree.
A bundle "make submit" command would be great. Perhaps a curl or wget that POSTed the wheel could work. How would the OAuth authentication work in that case? Developers will need to know how to build binary packages on all platforms. Maybe we'll need a second daily build of the master branch, and only those bundles would be put in the toolshed.
As part of the candidate release process, we'll need a way to flag bundles that have changed but haven't updated their version number yet.