ohsu-comp-bio / funnel

Funnel is a toolkit for distributed task execution via a simple, standard API.
https://ohsu-comp-bio.github.io/funnel
MIT License
121 stars 32 forks source link

Streamline release process #186

Open buchanae opened 7 years ago

buchanae commented 7 years ago

Releasing a new version requires great care currently. Ideally we can do it all in one command.

buchanae commented 7 years ago

Some of the steps are documented here: https://ohsu-comp-bio.github.io/funnel/docs/development/#release-process

Three gold stars if we can do this via TravisCI when a PR is merged to master.

buchanae commented 7 years ago

Had a bunch of new issues today:

buchanae commented 7 years ago

One improvement I think we can make is to use the docs/ folder on the master branch for the website, which would remove the weird gh-pages stuff.

buchanae commented 6 years ago

Errors from other platforms:

$ tar xvfz funnel-linux-amd64-0.3.0.tar.gz
tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
./
tar: Ignoring unknown extended header keyword `LIBARCHIVE.creationtime'
tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
./funnel
tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-t: Operation not permitted
tar: Exiting with failure status due to previous errors
buchanae commented 6 years ago

Release content prep PR (in progress):

Release process from master branch:

buchanae commented 6 years ago

This has gotten a lot easier, but there are still some tweaks to make, so leaving it open for at least on e more iteration.

Ideas for improvement:

buchanae commented 6 years ago

We should also include the docker container in the release process. That is currently way out of date.

buchanae commented 6 years ago

I created a homebrew tap for us: https://github.com/ohsu-comp-bio/homebrew-formula

Unfortunately, homebrew is particular about how you name your repo, so it can't live in the funnel repo.

brew tap ohsu-comp-bio/formula
brew install funnel
buchanae commented 6 years ago

Latest version is slightly more streamlined:

buchanae commented 6 years ago

Here's a cool idea: https://github.com/buchanae/funnel/blob/release-notes-builder/util/release-notes/build.go

It's pretty easy to access git commit logs and github commit + PR/issue data. We could use that to generate our release notes from the commits and PRs in the log since the last release tag.

buchanae commented 6 years ago

With #504 this inches towards more simplicity. The new process is:

buchanae commented 6 years ago

https://github.com/ohsu-comp-bio/funnel/commit/04eefda1bfd3367f3928aeaf5b698e38050f32d9 adds some docs about the latest release process

I still wish this was easier. In particular, it's still possible to mess something up in between updating the website, committing to master, creating a tag, building a release, etc.

Some ideas:

If we can figure out those steps, I think we'll finally arrive at a one-step release.