This repository provides a template for creating new Terraform modules. Modules created from this template will already be configured for CICD.
It is assumed that you have several tools already installed:
Before making any changes to the repository, make sure to run:
pre-commit install --install-hooks
pre-commit install --hook-type commit-msg
You should be able to run tests simply by typing go test ./test
. be aware
that some modules may require more time to fully test. You can extend the
default timeout by adding -timeout 30m
to the test command.
After a module has passed tests locally it's ready to push up to SCM on a named
branch. During this time, pre-commit
will ensure local code is in good shape
to be sent to SCM, and commitlint
will ensure that commmit messages follow
conventional commit format
Generally, these files can be ignored, and provide default behavior for various parts of the release cycle.
.releaserc
- determines the behavior of semantic-release in CICD..pre-commit-config.yaml
- provides defaultpre-commit
configuration..commitlintrc.js
- determines conventional commit keywords..github/
- contains theCODEOWNERS
file, as well as CICD pipelines.
- Fork the repository
- Clone the project from your forked repository to your macine
- Commit changes to your own branch
- Push your changes on your branch to your forked repository.
- Submit a Pull request back to our repository for review.
NOTE: always merge from latest upstream before submitting pull requests.
Semantic Versioning will be used to version this project. Please consult the releases page for a complete list of available versions.