Difference between revisions of "Releasing GotCloud"

From Genome Analysis Wiki
Jump to navigationJump to search
 
(4 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
#: <code> cd gotcloud</code>
 
#: <code> cd gotcloud</code>
 
# Build the source
 
# Build the source
#: <code> cd src</code>
+
#: <code> cd src && make && cd ..</code>
#: <code> make</code>
 
 
# Run the tests, ensure they all succeed
 
# Run the tests, ensure they all succeed
#: <code>./gotcloud align --test testDir</code>
+
#: <code> cd src && make test && cd ..</code>
#: <code>./gotcloud snpcall --test testDir</code>
+
#: <code>./gotcloud test</code>
#: <code>./gotcloud ldrefine --test testDir</code>
 
#: <code>./gotcloud indel --test testDir</code>
 
 
# Update the version number (if you have not already).
 
# Update the version number (if you have not already).
 
#* Edit release_version.txt
 
#* Edit release_version.txt
Line 28: Line 25:
 
#: <code>git checkout latest</code>
 
#: <code>git checkout latest</code>
 
#: <code>git merge master</code>
 
#: <code>git merge master</code>
 +
#: <code>git push</code>
 
#: <code>git checkout master</code>
 
#: <code>git checkout master</code>
#: <code>git push</code>
+
# Create and push a release tag
# Create a release tag
 
 
#: <code>git tag -a gotcloud.1.XX -m 'version 1.XX'</code>
 
#: <code>git tag -a gotcloud.1.XX -m 'version 1.XX'</code>
# Push tag
 
 
#: <code> git push origin gotcloud.1.XX</code>
 
#: <code> git push origin gotcloud.1.XX</code>
 
# Create the debian packages
 
# Create the debian packages
 
#* Generate the packages
 
#* Generate the packages
#*: <code> debian/makedeb.sh bin =</code>
+
#*: <code> ./debian/makedeb.sh bin =</code>
#*: <code> debian/makedeb.sh test =</code>
+
#*: <code> ./debian/makedeb.sh test =</code>
 
# Generate the release notes on github
 
# Generate the release notes on github
 
#: On github, login
 
#: On github, login
Line 51: Line 47:
 
# Install on mario
 
# Install on mario
 
#* In the gotcloud directory where you generated the deb files, run:
 
#* In the gotcloud directory where you generated the deb files, run:
#*: <code>debian/install_gotcloud_without_root.sh 1.16 /net/mario</code>
+
#*: <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
 
#* 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>
+
#*: <code>./debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old</code>
 
#* Rename to the version name:
 
#* Rename to the version name:
 
#*: <code>mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX</code>
 
#*: <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
 
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes
 
#* gotcloudUsers@umich.edu
 
#* gotcloudUsers@umich.edu

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:

  1. I recommend creating a new directory:
    cd ~/dev
    git clone git@github.com:statgen/gotcloud.git
    cd gotcloud
  2. Build the source
    cd src && make && cd ..
  3. Run the tests, ensure they all succeed
    cd src && make test && cd ..
    ./gotcloud test
  4. 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
  5. Checkout latest branch and merge master & push
    git checkout latest
    git merge master
    git push
    git checkout master
  6. Create and push a release tag
    git tag -a gotcloud.1.XX -m 'version 1.XX'
    git push origin gotcloud.1.XX
  7. Create the debian packages
    • Generate the packages
      ./debian/makedeb.sh bin =
      ./debian/makedeb.sh test =
  8. 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
  9. Update wiki release documentation (for full release)
  10. Send Email to google group (for full release)
  11. 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
  12. Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes
    • gotcloudUsers@umich.edu