Difference between revisions of "Releasing GotCloud"

From Genome Analysis Wiki
Jump to navigationJump to search
m (Mktrost moved page Creating Packages to Releasing GotCloud)
Line 2: Line 2:
  
 
Software for GotCloud is kept in a '''git''' repository on '''github'''.
 
Software for GotCloud is kept in a '''git''' repository on '''github'''.
This document describes how we create the Debian package and tar file for GotCloud.
 
  
'''Get the software''' (in this case from github):
+
We also create a Debian package and tar file for GotCloud.
<code>
 
  cd ~/dev
 
  '''git clone git://github.com/statgen/gotcloud.git'''
 
  Cloning into 'gotcloud'...
 
  done.
 
  '''ls gotcloud'''
 
  bin/  Copyrights/  debian/  gotcloud  INSTALL.txt  README  release_version.txt  scripts  src  test
 
</code>
 
  
'''Build the Source'''
+
To release a new version of GotCloud:
<code>
+
# I recommend creating a new directory:
 
+
#: <code> cd ~/dev</code>
  '''cd ~/dev/gotcloud/src'''
+
#: <code> git clone git://github.com/statgen/gotcloud.git</code>
  '''make'''
+
#: <code> cd gotcloud</code>
</code>
+
# Build the source
 
+
#: <code> cd src</code>
'''Build the Packages'''
+
#: <code> make</code>
 
+
# Run the tests, ensure they all succeed
Debian binaries DEB, TAR file
+
#: <code>./gotcloud align --test testDir</code>
<code>
+
#: <code>./gotcloud snpcall --test testDir</code>
  '''cd ~/dev/gotcloud'''
+
#: <code>./gotcloud ldrefine --test testDir</code>
  '''debian/makedeb.sh bin =''' (or in place of '=' use a version number)
+
#: <code>./gotcloud indel --test testDir</code>
  Making binaries in src. First time this will take a couple of minutes
+
# Update the version number (if you have not already).
  Binaries created as necessary
+
#* Edit release_version.txt
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor):
+
#* Commit the new release number
    [lines deleted]
+
#*: <code>git add release_version.txt</code>
  dpkg-deb: building package `gotcloud-bin' in `./gotcloud-bin_1.06_amd64.deb'.
+
#*: <code>git commit -m "Release 1.XX"</code>
  Debian package file created
+
#* Push to github
  -rw-r--r-- 1 tpg tpg 7933560 May 20 08:28 /home/tpg/dev/gotcloud/gotcloud-bin_1.06_amd64.deb
+
#*: <code>git push</code>
  Creating tar file for 'bin'
+
# Checkout latest branch and merge master & push
  Tar file created
+
#: <code>git checkout latest</code>
  -rw-r--r-- 1 tpg tpg 7983521 May 20 08:28 /home/tpg/dev/gotcloud/gotcloud-bin_1.06.tar.gz
+
#: <code>git merge master</code>
</code>
+
#: <code>git checkout master</code>
 
+
#: <code>git push</code>
Debian test DEB, TAR file
+
# Create a release tag
<code>
+
#: <code>git tag -a gotcloud.1.XX -m 'version 1.XX'</code>
  '''cd ~/dev/gotcloud'''
+
# Push tag
  '''debian/makedeb.sh test =''' (or in place of '=' use a version number)
+
#: <code> git push origin gotcloud.1.XX</code>
  #############################################################
+
# Create the packages (debian and tar)
  # Creating the 'test' package takes a pretty long time. Patience grasshopper...
+
#* cd to one directory above gotcloud
  #############################################################
+
#*: <code> cd ..</code>
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): ...
+
#* Generate the packages & copy to ftp://share.sph.umich.edu/gotcloud/ (all done for you by the script)
    [lines deleted]
+
#*: <code> /net/wonderland/home/mktrost/gc-admin/genDebs.sh</code>
  dpkg-deb: building package `gotcloud-test' in `./gotcloud-test_1.06_amd64.deb'.
+
#* at prompt, enter:
  Debian package file created
+
#*: <code>y</code>
  -rw-r--r-- 1 tpg tpg 382184656 May 20 08:41 /home/tpg/dev/gotcloud/gotcloud-test_1.06_amd64.deb
+
# Generate the release notes on github
  Creating tar file for 'test'
+
#: On github, login
  Tar file created
+
#::Goto Tags, Select "Draft New Release"
  -rw-r--r-- 1 tpg tpg 383138926 May 20 08:42 /home/tpg/dev/gotcloud/gotcloud-test
+
# Update wiki release documentation
</code>
+
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions
 
+
# Send Email to google group
Make these available via FTP:
+
#* 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)
<code>
+
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud
  '''cd ~/dev/gotcloud'''
+
# Install on mario
  '''ls -la *.deb *.tar.gz'''
+
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes
  -rw-r--r-- 1 tpg tpg  7933560 May 20 08:28 gotcloud-bin_1.06_amd64.deb
+
#* gotcloudUsers@umich.edu
  -rw-r--r-- 1 tpg tpg  7983521 May 20 08:28 gotcloud-bin_1.06.tar.gz
 
  -rw-r--r-- 1 tpg tpg 382184656 May 20 08:41 gotcloud-test_1.06_amd64.deb
 
  -rw-r--r-- 1 tpg tpg 383138926 May 20 08:42 gotcloud-test_1.06.tar.gz
 
 
  '''scp *.deb *.tar.gz gotcloud@share.sph.umich.edu'''
 
</code>
 
 
 
This makes the Debian packages and tar files available to outsiders using anonymous FTP (or wget).
 

Revision as of 18:28, 25 February 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
  3. Run the tests, ensure they all succeed
    ./gotcloud align --test testDir
    ./gotcloud snpcall --test testDir
    ./gotcloud ldrefine --test testDir
    ./gotcloud indel --test testDir
  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 checkout master
    git push
  6. Create a release tag
    git tag -a gotcloud.1.XX -m 'version 1.XX'
  7. Push tag
    git push origin gotcloud.1.XX
  8. Create the packages (debian and tar)
    • cd to one directory above gotcloud
      cd ..
    • Generate the packages & copy to ftp://share.sph.umich.edu/gotcloud/ (all done for you by the script)
      /net/wonderland/home/mktrost/gc-admin/genDebs.sh
    • at prompt, enter:
      y
  9. Generate the release notes on github
    On github, login
    Goto Tags, Select "Draft New Release"
  10. Update wiki release documentation
  11. Send Email to google group
  12. Install on mario
  13. Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes
    • gotcloudUsers@umich.edu