[Beaker-devel] GitHub releases for peripheral/related projects
Amit Saha
asaha at redhat.com
Tue Nov 19 02:23:56 UTC 2013
----- Original Message -----
> From: "Dan Callaghan" <dcallagh at redhat.com>
> To: "Amit Saha" <asaha at redhat.com>
> Cc: "Beaker development" <beaker-devel at lists.fedorahosted.org>
> Sent: Monday, November 18, 2013 11:22:47 AM
> Subject: Re: [Beaker-devel] GitHub releases for peripheral/related projects
>
> Excerpts from Amit Saha's message of 2013-11-15 16:19:37 +1000:
> > Okay, so how does this sound:
> >
> > 1. Tag a new release
> > 2. "Announce" a release using the Web UI
> > 3. Get the tarballs from the GitHub repo and simply scp them to the above
> > URL
> > 4. Link the GitHub release announcement from the Beah docs and link to the
> > tarballs
> > above.
> >
> > Perhaps the whole thing can be automated with the help of [1].
> >
> > [1] http://developer.github.com/v3/repos/releases/
> >
> > Thoughts?
>
> I think we need release notes ("announcements") in the beah docs, not
> just on GitHub, otherwise we are locked in to GitHub's proprietary
> release process.
>
> All it needs is a new page "Changes" or "Release Notes" in the beah
> sphinx book, with a new entry added each time a new version is tagged.
> The process should just look like:
>
> vim documentation/release-notes.rst
> git add documentation/release-notes.rst
> tito tag
> git push origin master beah-123
> # some magic here to get the tarball published under
> # http://beaker-project.org/releases/
Do we want to link to the tarball from the releases page? I believe so.
The problem here is (AFAICT) that we don't get the tarball filename until
we tag it. Hence, I can't see how it can be done at the time of tagging.
If tito had a --dry-run option for tagging that would be easy. I opened
an issue with the project and have a patched version which works [1].
Here is what I have without involving GitHub in any way:
# tito tag --dry-run
# add changelog and archive download link
git add documentation/release-notes.rst
# tito tag
# git push tag
# create the .tar.gz
release_tag=`git tag --points-at HEAD`
git archive --format=tar.gz --prefix=$release_tag/ $release_tag >$release_tag.tar.gz
# upload it to beaker-project.org/releases
scp $release_tag.tar.gz beaker-project.org:/path-to-releases/
(I see that releases is in .gitignore, so I believe it should be fine?)
Leaving aside the tarball filename, I think it's fairly straightforward now.
[1] https://github.com/dgoodwin/tito/issues/99
To summarize, here are the two options:
- Use the patched tito as per the above workflow
- Use a separate commit after the tagging to add the download link
Any suggestions regarding the "problem" above welcome.
Best,
Amit.
--
Amit Saha <http://echorand.me>
Infrastructure Engineering and Development
Red Hat, Inc.
More information about the Beaker-devel
mailing list