code#
All things code go into GitHub.
Managing code#
Code repositories are managed using Terraform. Creation of repositories is done here, as well as settings group permissions, defining branch protection rules and so on.
Automated builds#
Apart from managing repository settings this project also manages workflows that add automation. Examples here range from workflows managing releases to building and publishing artefacts.
Learn more about automated builds here.
Whenever workflows are updated, upon merging, an automated process will distribute the updates to affected repositories and create Pull Requests. This allows teams to validate the outcome of the updated workflow and assess if any repository-specific changes may require attention.
The automated distribution process requests reviews from any recent committers, and asks them to merge the PR if all checks return success.
Library updates#
To keep libraries in Scala repositories up-to-date, we use Scala Steward. This automated process runs from a GitHub workflow and will create pull requests to update libraries to the latest version. Since these updates are automated, and therefor build using automated workflows, it is important to have a good test suite in place to validate the outcome of the update.
The automated process currently runs once a week