Difference between revisions of "Releasing GotCloud"
From Genome Analysis Wiki
Jump to navigationJump to searchTerry Gliedt (talk | contribs) |
|||
(20 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Back to parent: [[GotCloud]] | Back to parent: [[GotCloud]] | ||
− | Software for GotCloud is kept in a '''git''' repository ''' | + | Software for GotCloud is kept in a '''git''' repository on '''github'''. |
− | |||
− | + | We also create a Debian package and tar file for GotCloud. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | To release a new version of GotCloud: | |
− | + | # I recommend creating a new directory: | |
− | + | #: <code> cd ~/dev</code> | |
− | <code> | + | #: <code> git clone git@github.com:statgen/gotcloud.git</code> |
− | + | #: <code> cd gotcloud</code> | |
− | + | # Build the source | |
− | + | #: <code> cd src && make && cd ..</code> | |
− | + | # Run the tests, ensure they all succeed | |
− | + | #: <code> cd src && make test && cd ..</code> | |
− | + | #: <code>./gotcloud test</code> | |
− | + | # Update the version number (if you have not already). | |
− | + | #* Edit release_version.txt | |
− | + | #* Commit the new release number | |
− | + | #*: <code>git add release_version.txt</code> | |
− | + | #*: <code>git commit -m "Release 1.XX"</code> | |
− | + | #* Push to github | |
− | + | #*: <code>git push</code> | |
− | + | # Checkout latest branch and merge master & push | |
− | + | #: <code>git checkout latest</code> | |
− | + | #: <code>git merge master</code> | |
− | + | #: <code>git push</code> | |
− | + | #: <code>git checkout master</code> | |
− | + | # Create and push a release tag | |
− | + | #: <code>git tag -a gotcloud.1.XX -m 'version 1.XX'</code> | |
− | </code> | + | #: <code> git push origin gotcloud.1.XX</code> |
− | + | # Create the debian packages | |
− | + | #* Generate the packages | |
− | <code> | + | #*: <code> ./debian/makedeb.sh bin =</code> |
− | + | #*: <code> ./debian/makedeb.sh test =</code> | |
− | + | # Generate the release notes on github | |
− | + | #: On github, login | |
− | + | #::Goto Tags, Select "Draft New Release" | |
− | + | #::* Select the "Tag version" you created | |
− | + | #::* Fill in the release notes | |
− | + | # Update wiki release documentation (for full release) | |
− | + | #* http://genome.sph.umich.edu/wiki/GotCloud:_Versions | |
− | + | # Send Email to google group (for full release) | |
− | + | #* gotcloud@googlegroups.com | |
− | + | #* I usually do it from the groups site as an announcement & post on behalf of GotCloud (I may need to modify your permissions to do this) | |
− | + | #** https://groups.google.com/forum/?hl=en#!forum/gotcloud | |
− | </code> | + | # Install on mario |
− | + | #* In the gotcloud directory where you generated the deb files, run: | |
− | + | #*: <code>./debian/install_gotcloud_without_root.sh 1.16 /net/mario</code> | |
− | <code> | + | #* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version |
− | + | #*: <code>./debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old</code> | |
− | + | #* Rename to the version name: | |
− | + | #*: <code>mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX</code> | |
− | + | # Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes | |
− | + | #* gotcloudUsers@umich.edu | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </code> | ||
− | |||
− | |||
− | <code> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </code> |
Latest revision as of 22:17, 6 November 2015
Back to parent: GotCloud
Software for GotCloud is kept in a git repository on github.
We also create a Debian package and tar file for GotCloud.
To release a new version of GotCloud:
- I recommend creating a new directory:
cd ~/dev
git clone git@github.com:statgen/gotcloud.git
cd gotcloud
- Build the source
cd src && make && cd ..
- Run the tests, ensure they all succeed
cd src && make test && cd ..
./gotcloud test
- Update the version number (if you have not already).
- Edit release_version.txt
- Commit the new release number
git add release_version.txt
git commit -m "Release 1.XX"
- Push to github
git push
- Checkout latest branch and merge master & push
git checkout latest
git merge master
git push
git checkout master
- Create and push a release tag
git tag -a gotcloud.1.XX -m 'version 1.XX'
git push origin gotcloud.1.XX
- Create the debian packages
- Generate the packages
./debian/makedeb.sh bin =
./debian/makedeb.sh test =
- Generate the packages
- Generate the release notes on github
- On github, login
- Goto Tags, Select "Draft New Release"
- Select the "Tag version" you created
- Fill in the release notes
- Goto Tags, Select "Draft New Release"
- On github, login
- Update wiki release documentation (for full release)
- Send Email to google group (for full release)
- gotcloud@googlegroups.com
- I usually do it from the groups site as an announcement & post on behalf of GotCloud (I may need to modify your permissions to do this)
- Install on mario
- In the gotcloud directory where you generated the deb files, run:
./debian/install_gotcloud_without_root.sh 1.16 /net/mario
- Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version
./debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old
- Rename to the version name:
mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX
- In the gotcloud directory where you generated the deb files, run:
- Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes
- gotcloudUsers@umich.edu