Line 1: |
Line 1: |
− | Software for GotCloud is kept in a got repository on github (eventually).
| + | Back to parent: [[GotCloud]] |
− | This document describes how we create the Debian and Redhat packages used with GotCloud.
| |
| | | |
− | '''Get the software''' (in this case from our local repository): | + | Software for GotCloud is kept in a '''git''' repository on '''github'''. |
− | <code> | + | |
− | ~/dev> git clone /net/mario/git/gotcloud gotcloud
| + | We also create a Debian package and tar file for GotCloud. |
− | Cloning into 'gotcloud'...
| + | |
− | done.
| + | To release a new version of GotCloud: |
− | ~/dev> ls gotcloud
| + | # I recommend creating a new directory: |
− | bin/ debian/ INSTALL.txt README scripts/ test/
| + | #: <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> git push origin gotcloud.1.XX</code> |
| + | # Create the debian packages |
| + | #* Generate the packages |
| + | #*: <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 |
| + | # 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> |
| + | #* 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 |