Updating Galaxy Main - galaxyproject/usegalaxy-playbook GitHub Wiki

Before you begin

See Getting Set Up At TACC. Make sure you meet the requirements.

Also make sure you know how to look at the current logs in case something is going sideways. Currently this is done by logging into one of the relevant VMs and doing journalctl -fu 'galaxy-main*'

On Branches

The branch that Galaxy is running is configured in env/main/group_vars/all/all.yml. Sometimes this config is set to a specific revision and branch setting is commented out, in those cases you will experience playbook fail if you do not change the revision.

Most of the time, main runs the latest release_YY.X, but if dev commits are needed on Main, we will occasionally create a usegalaxy branch from release_YY.MM and cherry-pick dev commits in to it. If the branch is currently usegalaxy and not release_YY.MM, you should rebase usegalaxy on the current release_YY.X branch and push to Github first.

Client Build

As of 18.09, the client always needs to be built regardless of branch. This is done by Ansible. If you need to update the client without updating Galaxy itself, you can do so with make main-client.

Update Procedure

user@home$ ssh -A galaxy-jump.tacc.utexas.edu
user@galaxy-jump$ . ./ansible/bin/activate
user@galaxy-jump$ cd usegalaxy-playbook
user@galaxy-jump$ git checkout main
user@galaxy-jump$ git pull
user@galaxy-jump$ ansible-galaxy role install -r requirements.yml   # use --force if role versions have changed
user@galaxy-jump$ ansible-galaxy collection install -r requirements.yml
user@galaxy-jump% make main-update
user@galaxy-jump$ git diff     # verify that none of the mutable configs pulled to the playbook are mangled
user@galaxy-jump$ git add -- .
user@galaxy-jump$ git commit -m 'Update Main'
user@galaxy-jump$ git push

Installing and/or updating internal tool dependencies

If you're updating to a new Galaxy release make sure all built-in tool dependencies are installed. You can do this using the instructions at https://github.com/galaxyproject/usegalaxy-playbook/wiki/Installation-on-Main#deprecated-manual-installation