diff --git a/.circleci/config.yml b/.circleci/config.yml index d5c935242..34062dfdb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -78,7 +78,7 @@ jobs: - slack/status: fail_only: true - only_for_branches: master + only_for_branches: main go-test-e2e: executor: @@ -108,7 +108,7 @@ jobs: - slack/status: fail_only: true - only_for_branches: master + only_for_branches: main # combine code coverage results from the parallel circleci executors coverage-merge: @@ -193,14 +193,14 @@ jobs: working_directory: terraform command: | # Figure out what the current branch forked from. Compare against - # master and the set of "vX.Y" branches, and choose whichever branch + # main and the set of "vX.Y" branches, and choose whichever branch # we're the *fewest* commits ahead of. # The point here isn't to perfectly predict where this will be # merged; all we really care about is determining which commits are # *unique to this PR,* so we don't accidentally complain about # problems you had nothing to do with. PARENT_BRANCH=$( - for br in $(git branch -rl --format='%(refname:short)' | grep -E '^origin/(master|v\d+\.\d+)$'); do + for br in $(git branch -rl --format='%(refname:short)' | grep -E '^origin/(main|v\d+\.\d+)$'); do new_commits=$(git rev-list --first-parent ^${br} HEAD | wc -l); echo "${br} ${new_commits}"; done \ @@ -290,7 +290,7 @@ workflows: filters: branches: only: - - master + - main - /^v\d+\.\d+$/ # v0.11, v0.12, etc. build-distros: diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a63fd0579..8399418ad 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -62,7 +62,7 @@ There are some areas of Terraform which are of special concern to the Terraform The Terraform team is not merging PRs for new state storage backends at the current time. Our priority regarding state storage backends is to find maintainers for existing backends and remove those backends without maintainers. -Please see the [CODEOWNERS](https://github.com/hashicorp/terraform/blob/master/CODEOWNERS) file for the status of a given backend. Community members with an interest in a particular standard backend are welcome to help maintain it. +Please see the [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file for the status of a given backend. Community members with an interest in a particular standard backend are welcome to help maintain it. Currently, merging state storage backends places a significant burden on the Terraform team. The team must set up an environment and cloud service provider account, or a new database/storage/key-value service, in order to build and test remote state storage backends. The time and complexity of doing so prevents us from moving Terraform forward in other ways. @@ -80,17 +80,17 @@ From our [documentation](https://www.terraform.io/docs/provisioners/index.html): The Terraform team is in the process of building a way forward which continues to decrease reliance on provisioners. In the mean time however, as our documentation indicates, they are a tool of last resort. As such expect that PRs and issues for provisioners are not high in priority. -Please see the [CODEOWNERS](https://github.com/hashicorp/terraform/blob/master/CODEOWNERS) file for the status of a given provisioner. Community members with an interest in a particular provisioner are welcome to help maintain it. +Please see the [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file for the status of a given provisioner. Community members with an interest in a particular provisioner are welcome to help maintain it. #### Maintainers Maintainers are key contributors to our Open Source project. They contribute their time and expertise and we ask that the community take extra special care to be mindful of this when interacting with them. -For code that has a listed maintainer or maintainers in our [CODEOWNERS](https://github.com/hashicorp/terraform/blob/master/CODEOWNERS) file, the Terraform team will highlight them for participation in PRs which relate to the area of code they maintain. The expectation is that a maintainer will review the code and work with the PR contributor before the code is merged by the Terraform team. +For code that has a listed maintainer or maintainers in our [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file, the Terraform team will highlight them for participation in PRs which relate to the area of code they maintain. The expectation is that a maintainer will review the code and work with the PR contributor before the code is merged by the Terraform team. There is no expectation on response time for our maintainers; they may be indisposed for prolonged periods of time. Please be patient. Discussions on when code becomes "unmaintained" will be on a case-by-case basis. -If an an unmaintained area of code interests you and you'd like to become a maintainer, you may simply make a PR against our [CODEOWNERS](https://github.com/hashicorp/terraform/blob/master/CODEOWNERS) file with your github handle attached to the approriate area. If there is a maintainer or team of maintainers for that area, please coordinate with them as necessary. +If an an unmaintained area of code interests you and you'd like to become a maintainer, you may simply make a PR against our [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file with your github handle attached to the approriate area. If there is a maintainer or team of maintainers for that area, please coordinate with them as necessary. ### Pull Request Lifecycle @@ -98,7 +98,7 @@ If an an unmaintained area of code interests you and you'd like to become a main 2. Once you believe your pull request is ready to be merged you can create your pull request. 3. When time permits Terraform's core team members will look over your contribution and either merge, or provide comments letting you know if there is anything left to do. It may take some time for us to respond. We may also have questions that we need answered about the code, either because something doesn't make sense to us or because we want to understand your thought process. We kindly ask that you do not target specific team members. 4. If we have requested changes, you can either make those changes or, if you disagree with the suggested changes, we can have a conversation about our reasoning and agree on a path forward. This may be a multi-step process. Our view is that pull requests are a chance to collaborate, and we welcome conversations about how to do things better. It is the contributor's responsibility to address any changes requested. While reviewers are happy to give guidance, it is unsustainable for us to perform the coding work necessary to get a PR into a mergeable state. -5. Once all outstanding comments and checklist items have been addressed, your contribution will be merged! Merged PRs may or may not be included in the next release based on changes the Terraform teams deems as breaking or not. The core team takes care of updating the [CHANGELOG.md](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md) as they merge. +5. Once all outstanding comments and checklist items have been addressed, your contribution will be merged! Merged PRs may or may not be included in the next release based on changes the Terraform teams deems as breaking or not. The core team takes care of updating the [CHANGELOG.md](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md) as they merge. 6. In some cases, we might decide that a PR should be closed without merging. We'll make sure to provide clear reasoning when this happens. Following the recommended process above is one of the ways to ensure you don't spend time on a PR we can't or won't merge. #### Getting Your Pull Requests Merged Faster @@ -139,7 +139,7 @@ If you wish to work on the Terraform CLI source code, you'll first need to insta At this time the Terraform development environment is targeting only Linux and Mac OS X systems. While Terraform itself is compatible with Windows, unfortunately the unit test suite currently contains Unix-specific assumptions around maximum path lengths, path separators, etc. -Refer to the file [`.go-version`](https://github.com/hashicorp/terraform/blob/master/.go-version) to see which version of Go Terraform is currently built with. Other versions will often work, but if you run into any build or testing problems please try with the specific Go version indicated. You can optionally simplify the installation of multiple specific versions of Go on your system by installing [`goenv`](https://github.com/syndbg/goenv), which reads `.go-version` and automatically selects the correct Go version. +Refer to the file [`.go-version`](https://github.com/hashicorp/terraform/blob/main/.go-version) to see which version of Go Terraform is currently built with. Other versions will often work, but if you run into any build or testing problems please try with the specific Go version indicated. You can optionally simplify the installation of multiple specific versions of Go on your system by installing [`goenv`](https://github.com/syndbg/goenv), which reads `.go-version` and automatically selects the correct Go version. Use Git to clone this repository into a location of your choice. Terraform is using [Go Modules](https://blog.golang.org/using-go-modules), and so you should *not* clone it inside your `GOPATH`. diff --git a/README.md b/README.md index c14a3fef4..50d33ab78 100644 --- a/README.md +++ b/README.md @@ -43,4 +43,4 @@ To learn more about compiling Terraform and contributing suggested changes, plea To learn more about how we handle bug reports, please read the [bug triage guide](./BUGPROCESS.md). ## License -[Mozilla Public License v2.0](https://github.com/hashicorp/terraform/blob/master/LICENSE) +[Mozilla Public License v2.0](https://github.com/hashicorp/terraform/blob/main/LICENSE) diff --git a/codecov.yml b/codecov.yml index 8fdc7bc8e..5aeb0a38b 100644 --- a/codecov.yml +++ b/codecov.yml @@ -5,7 +5,7 @@ comment: require_base: yes # [yes :: must have a base report to post] require_head: yes # [yes :: must have a head report to post] branches: # branch names that can post comment - - "master" + - "main" coverage: status: diff --git a/docs/plugin-protocol/README.md b/docs/plugin-protocol/README.md index 12ff41089..de9250181 100644 --- a/docs/plugin-protocol/README.md +++ b/docs/plugin-protocol/README.md @@ -22,7 +22,7 @@ From Terraform v0.12.0 onwards, Terraform's plugin protocol is built on different versions of Terraform's protocol. Only `.proto` files published as part of Terraform release tags are actually -official protocol versions. If you are reading this directory on the `master` +official protocol versions. If you are reading this directory on the `main` branch or any other development branch then it may contain protocol definitions that are not yet finalized and that may change before final release. diff --git a/docs/plugin-protocol/tfplugin5.0.proto b/docs/plugin-protocol/tfplugin5.0.proto index cf6dda34a..624ad2a88 100644 --- a/docs/plugin-protocol/tfplugin5.0.proto +++ b/docs/plugin-protocol/tfplugin5.0.proto @@ -13,7 +13,7 @@ // official protocol releases. Proto files taken from other commits may include // incomplete changes or features that did not make it into a final release. // In all reasonable cases, plugin developers should take the proto file from -// the tag of the most recent release of Terraform, and not from the master +// the tag of the most recent release of Terraform, and not from the main // branch or any other development branch. // syntax = "proto3"; diff --git a/docs/plugin-protocol/tfplugin5.1.proto b/docs/plugin-protocol/tfplugin5.1.proto index 9875d9ba6..8f01ad96f 100644 --- a/docs/plugin-protocol/tfplugin5.1.proto +++ b/docs/plugin-protocol/tfplugin5.1.proto @@ -13,7 +13,7 @@ // official protocol releases. Proto files taken from other commits may include // incomplete changes or features that did not make it into a final release. // In all reasonable cases, plugin developers should take the proto file from -// the tag of the most recent release of Terraform, and not from the master +// the tag of the most recent release of Terraform, and not from the main // branch or any other development branch. // syntax = "proto3"; diff --git a/docs/plugin-protocol/tfplugin5.2.proto b/docs/plugin-protocol/tfplugin5.2.proto index 7c5cada75..1c29f0396 100644 --- a/docs/plugin-protocol/tfplugin5.2.proto +++ b/docs/plugin-protocol/tfplugin5.2.proto @@ -13,7 +13,7 @@ // official protocol releases. Proto files taken from other commits may include // incomplete changes or features that did not make it into a final release. // In all reasonable cases, plugin developers should take the proto file from -// the tag of the most recent release of Terraform, and not from the master +// the tag of the most recent release of Terraform, and not from the main // branch or any other development branch. // syntax = "proto3"; diff --git a/docs/plugin-protocol/tfplugin6.0.proto b/docs/plugin-protocol/tfplugin6.0.proto index b9bf0270a..4d8dc060e 100644 --- a/docs/plugin-protocol/tfplugin6.0.proto +++ b/docs/plugin-protocol/tfplugin6.0.proto @@ -13,7 +13,7 @@ // official protocol releases. Proto files taken from other commits may include // incomplete changes or features that did not make it into a final release. // In all reasonable cases, plugin developers should take the proto file from -// the tag of the most recent release of Terraform, and not from the master +// the tag of the most recent release of Terraform, and not from the main // branch or any other development branch. // syntax = "proto3"; diff --git a/internal/tfplugin5/tfplugin5.pb.go b/internal/tfplugin5/tfplugin5.pb.go index 577459430..5ace89736 100644 --- a/internal/tfplugin5/tfplugin5.pb.go +++ b/internal/tfplugin5/tfplugin5.pb.go @@ -13,7 +13,7 @@ // official protocol releases. Proto files taken from other commits may include // incomplete changes or features that did not make it into a final release. // In all reasonable cases, plugin developers should take the proto file from -// the tag of the most recent release of Terraform, and not from the master +// the tag of the most recent release of Terraform, and not from the main // branch or any other development branch. // diff --git a/internal/tfplugin6/tfplugin6.pb.go b/internal/tfplugin6/tfplugin6.pb.go index e88f93f51..fa89050b2 100644 --- a/internal/tfplugin6/tfplugin6.pb.go +++ b/internal/tfplugin6/tfplugin6.pb.go @@ -13,7 +13,7 @@ // official protocol releases. Proto files taken from other commits may include // incomplete changes or features that did not make it into a final release. // In all reasonable cases, plugin developers should take the proto file from -// the tag of the most recent release of Terraform, and not from the master +// the tag of the most recent release of Terraform, and not from the main // branch or any other development branch. // diff --git a/website/docs/language/settings/index.html.md b/website/docs/language/settings/index.html.md index c9a79a865..51c051a35 100644 --- a/website/docs/language/settings/index.html.md +++ b/website/docs/language/settings/index.html.md @@ -114,7 +114,7 @@ want to try experimental features in a shared module, we recommend enabling the experiment only in alpha or beta releases of the module. The introduction and completion of experiments is reported in -[Terraform's changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md), +[Terraform's changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md), so you can watch the release notes there to discover which experiment keywords, if any, are available in a particular Terraform release. diff --git a/website/docs/language/state/workspaces.html.md b/website/docs/language/state/workspaces.html.md index 07db50a40..b6a194b6e 100644 --- a/website/docs/language/state/workspaces.html.md +++ b/website/docs/language/state/workspaces.html.md @@ -122,7 +122,7 @@ set of infrastructure changes might create a new temporary workspace in order to freely experiment with changes without affecting the default workspace. Non-default workspaces are often related to feature branches in version control. -The default workspace might correspond to the "master" or "trunk" branch, +The default workspace might correspond to the "main" or "trunk" branch, which describes the intended state of production infrastructure. When a feature branch is created to develop a change, the developer of that feature might create a corresponding workspace and deploy into it a temporary "copy" diff --git a/website/guides/core-workflow.html.md b/website/guides/core-workflow.html.md index e307728e4..eb3112a1f 100644 --- a/website/guides/core-workflow.html.md +++ b/website/guides/core-workflow.html.md @@ -76,7 +76,7 @@ it's time to commit your work and review the final plan. $ git add main.tf $ git commit -m 'Managing infrastructure as code!' -[master (root-commit) f735520] Managing infrastructure as code! +[main (root-commit) f735520] Managing infrastructure as code! 1 file changed, 1 insertion(+) ``` @@ -113,7 +113,7 @@ location for safekeeping. ```sh $ git remote add origin https://github.com/*user*/*repo*.git -$ git push origin master +$ git push origin main ``` This core workflow is a loop; the next time you want to make changes, you start diff --git a/website/upgrade-guides/0-10.html.markdown b/website/upgrade-guides/0-10.html.markdown index e7368b8f1..c33b6186b 100644 --- a/website/upgrade-guides/0-10.html.markdown +++ b/website/upgrade-guides/0-10.html.markdown @@ -15,7 +15,7 @@ that process. The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the -[Terraform Changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md). +[Terraform Changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md). After reviewing this guide, we recommend reviewing the Changelog to check on specific notes about the resources and providers you use. diff --git a/website/upgrade-guides/0-11.html.markdown b/website/upgrade-guides/0-11.html.markdown index 1e8ce006b..60f7708ad 100644 --- a/website/upgrade-guides/0-11.html.markdown +++ b/website/upgrade-guides/0-11.html.markdown @@ -15,7 +15,7 @@ that process. The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the -[Terraform Changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md). +[Terraform Changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md). After reviewing this guide, we recommend reviewing the Changelog to check on specific notes about the resources and providers you use. diff --git a/website/upgrade-guides/0-13.html.markdown b/website/upgrade-guides/0-13.html.markdown index 5adb45b31..3c1b033d9 100644 --- a/website/upgrade-guides/0-13.html.markdown +++ b/website/upgrade-guides/0-13.html.markdown @@ -15,7 +15,7 @@ that process. The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the -[Terraform Changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md). +[Terraform Changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md). After reviewing this guide, we recommend reviewing the Changelog to check for specific notes about less-commonly-used features. diff --git a/website/upgrade-guides/0-7.html.markdown b/website/upgrade-guides/0-7.html.markdown index cec4dbc1b..e77dd2f18 100644 --- a/website/upgrade-guides/0-7.html.markdown +++ b/website/upgrade-guides/0-7.html.markdown @@ -10,7 +10,7 @@ description: |- Terraform v0.7 is a major release, and thus includes some backwards incompatibilities that you'll need to consider when upgrading. This guide is meant to help with that process. -The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the [Terraform Changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md). After reviewing this guide, review the Changelog to check on specific notes about the resources and providers you use. +The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the [Terraform Changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md). After reviewing this guide, review the Changelog to check on specific notes about the resources and providers you use. ## Plugin Binaries diff --git a/website/upgrade-guides/0-8.html.markdown b/website/upgrade-guides/0-8.html.markdown index 65150e6d0..23c407ee8 100644 --- a/website/upgrade-guides/0-8.html.markdown +++ b/website/upgrade-guides/0-8.html.markdown @@ -15,7 +15,7 @@ meant to help with that process. The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the -[Terraform Changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md). +[Terraform Changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md). After reviewing this guide, we recommend reviewing the Changelog to check on specific notes about the resources and providers you use. diff --git a/website/upgrade-guides/0-9.html.markdown b/website/upgrade-guides/0-9.html.markdown index f863ff8e0..158de2099 100644 --- a/website/upgrade-guides/0-9.html.markdown +++ b/website/upgrade-guides/0-9.html.markdown @@ -15,7 +15,7 @@ that process. The goal of this guide is to cover the most common upgrade concerns and issues that would benefit from more explanation and background. The exhaustive list of changes will always be the -[Terraform Changelog](https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md). +[Terraform Changelog](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md). After reviewing this guide, we recommend reviewing the Changelog to check on specific notes about the resources and providers you use.