Cell Browser Release Process
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
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.