When contributing to this repository, please first discuss the change you wish to make via issue, slack, or any other method with the owners of this repository before making a change.
Our primary slack channel for contributors who wish to get in touch is #ask-modernisation-platform.
If you’ve got an idea or suggestion you can:
When raising bugs, please explain the issue in reasonable detail and provide a guide on how to replicate it.
When describing the bug, it's useful to follow the format:
- What you did
- What you expected to happen
- What happened
We have a standard template for raising bugs.
Please raise feature requests as issues before contributing any code.
Raising an issue ensures they are openly discussed and before spending any time on them.
Please contact us through Slack to discuss the vulnerability first, before raising an issue.
We use Hashicorp Terraform to deliver Infrastructure-as-Code.
We stay up-to-date with the latest versions of Terraform, but with Terraform Providers the Modernisation Platform Team control the version in use.
Our versioned Terraform modules have unit tests; these are written using Terratest and Google Go.
Your branch should ensure that changes you have made are reflected in the tests, and that these unit tests pass before raising a Pull Request.
A GitHub Action will automatically run tests against your Pull Request once you have raised it.
Where appropriate, versioning is based on your commit messages by using Semantic Versioning.
Our Modernisation Platform and Modernisation Platform Environments repositories are deployed with CI/CD from the main branch, and thus are not versioned.
Terraform modules which are used by the Modernisation Platform and Modernisation Platform Environments repositories are versioned using GitHub Tags and Releases following Semantic Versioning.
When you come to raise a pull request, please explain the context for your pull request so that your changes are easier to understand.
Releases are actioned by the Modernisation Platform team.