Acceptance Criteria:
- Code is on GitHub
- Its dependencies are updated automatically
- GitHub builds the assets and [[ https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts | stores them as build artifacts ]]
- GitHub runs CI functions (linting, tests, etc) on every branch
- The deployment playbook downloads the assets from GitHub instead of Gitlab
Implementation notes
- GitHub does not have a branch-name based system for the uploaded assets. In the Ansible playbook you'll need to do [[ https://docs.github.com/en/rest/reference/actions#artifacts | download the list of artifacts ]] and match their name to get the id, then download the artifact by id.
- Alternatively, we could use GitLab as a "build tool" and add web hooks to the github repo that push any changes to gitlab. Open question is how we keep the branches in sync (what to do when deleting branches)