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