Skip to content

Latest commit

 

History

History
87 lines (61 loc) · 3.03 KB

DEVELOPER.md

File metadata and controls

87 lines (61 loc) · 3.03 KB

Developer Requirements

On Windows

If you're on Windows you'll also need:

For GNU32 Make, make sure its bin path is added to PATH environment variable.

For Git Bash for Windows, at the step of "Adjusting your PATH environment", please choose "Use Git and optional Unix tools from Windows Command Prompt".

Or, use Windows Subsystem for Linux

Setup on WSL with Ubuntu 22.04

Install Go and Make

  1. Run curl -L https://go.dev/dl/go1.21.0.linux-amd64.tar.gz -o go1.21.0.linux-amd64.tar.gz (replace with a different version of go if desired)
  2. Run rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
  3. Run sudo nano ~/.profile
  4. Add the following lines at the end of the file:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go/bin
export PATH=$PATH:$GOPATH/bin
  1. Type Ctrl + x to save, then enter y and hit enter
  2. Run source ~/.profile
  3. Run sudo apt-get update && apt-get install make

Install Terraform

  1. Follow these instructions https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli.

Setup Project Tools

  1. Clone the repository
  2. Navigate to the root of the repository
  3. Run make tools

PR Naming

We have adopted conventional commit naming standards for PRs.

E.g.:

feat(roleassignment)!: add `relative_scope` value.
^    ^              ^ ^
|    |              | |__ Subject
|    |_____ Scope   |____ Breaking change flag
|__________ Type

Type

The following types are permitted:

  • chore - Other changes that do not modify src or test files
  • ci - changes to the CI system
  • docs - documentation only changes
  • feat - a new feature (this correlates with MINOR in Semantic Versioning)
  • fix - a bug fix (this correlates with PATCH in Semantic Versioning)
  • refactor - a code change that neither fixes a bug or adds a feature
  • revert - revert to a previous commit
  • style - changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • test - adding or correcting tests

Scope (Optional)

The following scopes are permitted:

  • resourcegroup - pertaining to the resourcegroup sub-module
  • roleassignment - pertaining to the roleassignment sub-module
  • root - pertaining to the root module
  • subscription - pertaining to the subscription sub-module
  • usermanagedidentity - pertaining to the user-assigned managed identity sub-module
  • virtualnetwork - pertaining to the virtual network sub-module

Breaking Changes

An exclamation mark ! is appended to the type/scope of a breaking change PR (this correlates with MAJOR in Semantic Versioning).