Cell Browser Release Process

From Genecats
Jump to navigationJump to search

Setting Up the Environment for the Build

These instructions assume you're running bash.

Check and see if you have the repository installed already, if not clone it:

 git clone https://github.com/ucscGenomeBrowser/cellBrowser

Make sure you have a github account.

On your github account, create an authorization token, see the following for instructions (make a separate token for the cellBrowser): https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token The token will only be visible once, so copy the token, copy it to ~/.githubtokens or similar, and make that file 600 permissions

 vim ~/.githubtokens
 # copy key and save file
 chmod 600 ~/.githubtokens

Ensure you have access to PyPI. You have two options: 1. have Max grant you his permissions into your ~/.pypirc file 2. create a PyPI account, copy those credentials to your ~/.pypirc, have Max grant your user access to the cellBrowser package

Ensure the twine package is available to your user, the following command should work and print 'success':

 /usr/bin/python3.6 -c "import twine; print('success')"

If it doesn't work, run the following command to install twine locally:

 pip3 install twine --user

Change directory into cell browser git hierarchy build directory.

 cd ~/cellBrowser/build 

Make sure you're on the develop branch.

 git checkout develop
 git pull

Get the version number from the redmine build ticket, then update the file buildEnv.sh to change CBVERSION to CBLASTVERSION and CBDATE to CBLASTDATA and add new CBVERSION and CBDATE strings. See the file for examples. Source the file then check it in.

 vi buildEnv.sh
 source buildEnv.sh
 git commit buildEnv.sh

Running the git reports

Run the git reports.

 ./doGitReports.sh

The reports appear here:

  https://genecats.gi.ucsc.edu/CB-git-reports/

Assign code reviews. Repeat reports if reviews result in changes. Move on when code reviews are finished without requested changes.

Tag and Push release

Change directory to build directory and set environment variables (if not already done)

cd ~/cellBrowser/build 
source buildEnv.sh

Merge develop branch with master branch, tag it, and make PIP release. You'll need to enter your github username and passcode twice (for the merge push, and for the tag push).

  ./doPush.sh

Update the ticket with the location of the PIP release.

 https://pypi.org/project/cellbrowser/$CBVERSION

Assign the build shepherd in the ticket.

QA reviews

QA installs on cells-test and tests. If all is good, then they push it to the RR. If changes are made to develop after the PIP push, start from the beginning with an incremented version string. There is no build patch mechanism currently.