Skip to content

Commit

Permalink
Update release build blogpost
Browse files Browse the repository at this point in the history
  • Loading branch information
cmdcolin committed Aug 29, 2018
1 parent 73f4107 commit 7661e38
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 5 deletions.
6 changes: 2 additions & 4 deletions README.md
Expand Up @@ -85,19 +85,17 @@ To run the Electron app in debug mode run the following

NOTE: Beginning in 1.12.4,

1. If you have any text to add for the blogpost, create "blog.txt" and set `export BLOGPOST_TEXT=$(cat blog.txt)`

1. Run `build/release.sh $newReleaseVersion $nextReleaseVersion-alpha.0`, check its work, and then run the `git push` command it suggests to you. This makes a tag in the repository for the release, named, e.g. `1.6.3-release`. This should cause Travis CI
to create a release on GitHub under https://github.com/GMOD/jbrowse/releases

1. Add release notes to the new GitHub release that Travis created. Can just paste these from release-notes.md, which is in Markdown format.

1. Edit a file in website/blog/ folder with the date and release name in the blog title. Include notes from release-notes.md and links to files that were generated in the release page. The SHA1 sums of the built release files can be seen near the end of the Travis build log. Commit this blog post with "[update docs]" in the commit message

1. Update the latest-release code checkout on the site, which the "Latest Release" demo on the jbrowse.org points to, to be an unzipped-and-set-up copy of the latest release.

1. Write a twitter post for usejbrowse and JBrowseGossip with the announcement link to the blogpost

1. Upload the release package to the website code directory, unzip and set the version as the latest

1. Write an email announcing the release, sending to gmod-ajax. If it is a major release, add gmod-announce and make a GMOD news item.

As you can tell, this process could really use some more streamlining and automation.
17 changes: 17 additions & 0 deletions build/blog_template.txt
@@ -0,0 +1,17 @@
---
layout: post
title: JBrowse ${VERSION} maintenance release
date: ${DATE}
tags: ["News","Software releases"]
---

${BLOGPOST_TEXT}

* [JBrowse-${VERSION}.zip](https://github.com/GMOD/jbrowse/releases/download/${VERSION}-release/JBrowse-${VERSION}.zip) - minified release
* [JBrowse-${VERSION}-dev.zip](https://github.com/GMOD/jbrowse/archive/${VERSION}-release.zip) - use this if you modify jbrowse source code or plugins
* [JBrowse-${VERSION}-desktop-win32-x64.zip](https://github.com/GMOD/jbrowse/releases/download/${VERSION}-release/JBrowse-${VERSION}-desktop-win32-x64.zip)
* [JBrowse-${VERSION}-desktop-linux-x64.zip](https://github.com/GMOD/jbrowse/releases/download/${VERSION}-release/JBrowse-${VERSION}-desktop-linux-x64.zip)
* [JBrowse-${VERSION}-desktop-darwin-x64.zip](https://github.com/GMOD/jbrowse/releases/download/${VERSION}-release/JBrowse-${VERSION}-desktop-darwin-x64.zip)



1 change: 1 addition & 0 deletions build/format_release_notes.pl
Expand Up @@ -6,6 +6,7 @@
my $release = "";
while(<>) {
last if /^# /;
next if /\{\{\$NEXT\}\}/;
$release .= $_;
}

Expand Down
9 changes: 8 additions & 1 deletion build/release.sh
Expand Up @@ -4,6 +4,7 @@ set -e;

VERSION=$1
ALPHA_VERSION=$2
NOTES=$3

# make sure we were given a version number
if [[ $VERSION = '' || $ALPHA_VERSION = '' ]]; then
Expand Down Expand Up @@ -37,14 +38,20 @@ fi
set -x

# datestamp the release notes
DATE=$(date +"%Y-%m-%d")
BLOGPOST_FILENAME=website/blog/$(date +"%Y-%m-%d")-jbrowse-$(echo $VERSION | sed 's/\./-/g').md
VERSION=$VERSION DATE=$DATE perl -p -i -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < build/blog_template.txt > $BLOGPOST_FILENAME
build/format_release_notes.pl < release-notes.md >> $BLOGPOST_FILENAME

build/datestamp_release_notes.pl $VERSION release-notes.md > release-notes.md.new
mv release-notes.md.new release-notes.md

# update the versions in the package.json files
build/set_package_versions.pl $VERSION src/JBrowse/package.json package.json website/siteConfig.js

# commit the release notes and package.jsons
git commit -m "release $VERSION" release-notes.md src/JBrowse/package.json package.json website/siteConfig.js
git add $BLOGPOST_FILENAME
git commit -m "release $VERSION" release-notes.md src/JBrowse/package.json package.json website/siteConfig.js $BLOGPOST_FILENAME

# make a tag and update master
git tag $VERSION-release
Expand Down

0 comments on commit 7661e38

Please sign in to comment.