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 Zach Pearson)

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 Conrad Huang, 6 years ago

Component: UnassignedTool Shed

comment:2 by Greg Couch, 6 years ago

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.

comment:3 by Greg Couch, 5 years ago

Milestone: RC 11.0

comment:4 by Greg Couch, 5 years ago

Milestone: 1.01.1

comment:5 by Scooter Morris, 5 years ago

Milestone: 1.11.2
Priority: blockermoderate

comment:6 by Greg Couch, 5 years ago

Milestone: 1.21.3

comment:7 by Greg Couch, 4 years ago

Milestone: 1.31.4

Won't make 1.3.

comment:8 by Zach Pearson, 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 Greg Couch, 3 years ago

Milestone: 1.41.5

comment:10 by Greg Couch, 3 years ago

Cc: Greg Couch added
Owner: changed from Greg Couch to Zach Pearson

comment:11 by Zach Pearson, 3 years ago

Milestone: 1.51.6

comment:12 by Zach Pearson, 3 years ago

Milestone: 1.61.7

comment:13 by Zach Pearson, 2 years ago

Description: modified (diff)
Milestone: 1.71.8

comment:14 by Zach Pearson, 18 months ago

Milestone: 1.8

This doesn't need to be milestoned.

Note: See TracTickets for help on using tickets.