diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d157da6..65957aab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,49 +1,76 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [0.5.1] + +### Fixed + +- Remove support for Terraform Github Provider v3.1.0 as this version introduced undocumneted breaking changes. See https://github.com/terraform-providers/terraform-provider-github/issues/566 for details. + ### Changed + - Adjust default branch in code to github new default branch naming ## [0.5.0] + ### Added + - Add support for Terraform v0.13.x - Add support for Terraform Github Provider v3.x - Prepare support for Terraform v0.14.x (needs terraform v0.12.20 or above) ## [0.4.2] - 2020-06-23 + ### Added + - Add `CHANGELOG.md`. + ### Changed + - Switch CI from SemaphoreCI to GitHub Actions. ## [0.4.1] - 2020-06-04 + ### Added + - Add CONTRIBUTING.md. - Add `phony-targets` and `markdown-link-check` hooks. + ### Changelog + - Update logo and badges in README.md. ## [0.4.0] - 2020-05-28 + ### Fixed + - Fix a bug that was introduced during the last release which forced the re-creation of teams on every run. ## [0.3.1] - 2020-05-24 + ### Fixed + - Fix dependency issue when assigning teams by name. ## [0.3.0] - 2020-05-14 + ### Added + - Add `issue_labels_create` to specify whether you want to force or suppress the creation of issues labels. Default is `true` if `has_issues` is `true` or `issue_labels` is non-empty, otherwise default is `false`. ## [0.2.1] - 2020-05-09 + ### Added + - Introduced support for the [github_repository_webhook](https://www.terraform.io/docs/providers/github/r/repository_webhook.html) resource. You can now add webhooks to your repositories through the newly @@ -51,31 +78,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [documentation](https://github.com/mineiros-io/terraform-github-repository#webhooks-configuration). ## [0.2.0] - 2020-04-16 + ### Added + - Use slugs for team ids. + ### Changed + - Set `delete_branch_on_merge` default value to `true`. - Upgrade terraform-github-provider to `~> 2.6`. + ### Fixed + - Fix module dependency by introducing `modules_depends_on`. ## [0.1.0] - 2020-02-27 + ### Changed + - Update README.md and add more examples and related tests. ## [0.0.7] - 2020-01-14 + ### Changed + - Breaking Changes for `branch_protection_rules`. Properties are now configured as a nested object instead of lists. ## [0.0.6] - 2020-01-12 + ### Changed + - Ignore changes in `auto_init`. - Ignore changes in `gitignore_template`. - Ignore changes in `license_template`. ## [0.0.5] - 2020-01-12 + ### Added + - Add `defaults`. - Add `extra_topics` for adding additional topics when defaults.topics should not be overwritten but merged. @@ -88,40 +129,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `admin_team_ids` as a list of team IDs to add as admin teams. - Add `push_team_ids` as a list of team IDs to add as push teams. - Add `pull_team_ids` as a list of team IDs to add as pull teams. + ### Changed + - Use `for_each` instead of `count` to not recreate most resources when order in module parameter changes. - Add automated unit tests. + ### Fixed + - Fix race condition in `branch_protection` configuration. + ### Removed + - Remove `teams`. - Remove `collaborators`. ## [0.0.4] - 2020-01-06 + ### Changed + - Set `auto_init` default value to `true`. ## [0.0.3] - 2020-01-06 + ### Changed + - Set has_issues default value to `false`. ## [0.0.2] - 2020-01-06 + ### Removed + - Remove unnecessary `Vars` declaration from test. + ### Changed + - Set `has_feature` toggles default values to `false`. - Set example variables default value to null. ## [0.0.1] - 2020-01-05 + ### Added + - This is the initial release of our GitHub Repository module with support for creating and managing GitHub Repositories for Organizations. -[Unreleased]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.5.0...HEAD -[0.5.0]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.4.2...v0.5.0 + +[unreleased]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.5.1...HEAD +[0.5.1]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.5.0...v0.5.1 + + +[0.5.0]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.4.2...v0.5.0 [0.4.2]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.4.1...v0.4.2 [0.4.1]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.4.0...v0.4.1 [0.4.0]: https://github.com/mineiros-io/terraform-github-repository/compare/v0.3.1...v0.4.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8bb99a0e..d6581e77 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -77,14 +77,13 @@ If everything looks good, they will merge the code and release a new version whi -[Pull Requests]: https://github.com/mineiros-io/terraform-github-repository/pulls +[pull requests]: https://github.com/mineiros-io/terraform-github-repository/pulls [pre-commit-file]: https://github.com/mineiros-io/terraform-github-repository/blob/master/.pre-commit-config.yaml - -[Github Flow]: https://guides.github.com/introduction/flow/ -[CODEOWNERS]: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners -[Fork]: https://help.github.com/en/github/getting-started-with-github/fork-a-repo +[github flow]: https://guides.github.com/introduction/flow/ +[codeowners]: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners +[fork]: https://help.github.com/en/github/getting-started-with-github/fork-a-repo [create a new branch]: https://guides.github.com/introduction/flow/ -[Readme Driven Development]: https://tom.preston-werner.com/2010/08/23/readme-driven-development.html +[readme driven development]: https://tom.preston-werner.com/2010/08/23/readme-driven-development.html [commit]: https://help.github.com/en/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project [create a pull request]: https://help.github.com/articles/creating-a-pull-request/ -[Semantic Versioning (SemVer)]: https://semver.org/ +[semantic versioning (semver)]: https://semver.org/ diff --git a/README.md b/README.md index 8f1604eb..2e1c40d0 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ A [Terraform] module for creating a public or private repository on [Github]. -***This module supports Terraform v0.13 as well as v0.12.9 and above -and is compatible with the Terraform Github Provider v3 as well as v2.6 and above.*** +**_This module supports Terraform v0.13 as well as v0.12.9 and above +and is compatible with the Terraform Github Provider v3 as well as v2.6 and above._** - [Module Features](#module-features) - [Getting Started](#getting-started) @@ -651,7 +651,6 @@ The following attributes are exported by the module: A map of Project objects keyed by the `id` of the project as returned by the [`github_repository_project`] resource - ## External Documentation - Terraform Github Provider Documentation: @@ -660,7 +659,6 @@ The following attributes are exported by the module: - https://www.terraform.io/docs/providers/github/r/repository_deploy_key.html - https://www.terraform.io/docs/providers/github/r/repository_project.html - ## Module Versioning This Module follows the principles of [Semantic Versioning (SemVer)]. @@ -712,38 +710,32 @@ Copyright © 2020 [Mineiros GmbH][homepage] -[Github]: https://github.com/ +[github]: https://github.com/ [`github_repository`]: https://www.terraform.io/docs/providers/github/r/repository.html#attributes-reference [`github_repository_collaborator`]: https://www.terraform.io/docs/providers/github/r/repository_collaborator.html#attribute-reference [`github_repository_deploy_key`]: https://www.terraform.io/docs/providers/github/r/repository_deploy_key.html#attributes-reference [`github_repository_project`]: https://www.terraform.io/docs/providers/github/r/repository_project.html#attributes-reference - [homepage]: https://mineiros.io/?ref=terraform-github-repository [hello@mineiros.io]: mailto:hello@mineiros.io - [badge-build]: https://github.com/mineiros-io/terraform-github-repository/workflows/CI/CD%20Pipeline/badge.svg [badge-semver]: https://img.shields.io/github/v/tag/mineiros-io/terraform-github-repository.svg?label=latest&sort=semver [badge-license]: https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg [badge-terraform]: https://img.shields.io/badge/terraform-0.13%20and%200.12.9+-623CE4.svg?logo=terraform [badge-slack]: https://img.shields.io/badge/slack-@mineiros--community-f32752.svg?logo=slack - [badge-tf-gh]: https://img.shields.io/badge/GH-3%20and%202.6+-F8991D.svg?logo=terraform [releases-github-provider]: https://github.com/terraform-providers/terraform-provider-github/releases - [build-status]: https://github.com/mineiros-io/terraform-github-repository/actions [releases-github]: https://github.com/mineiros-io/terraform-github-repository/releases [releases-terraform]: https://github.com/hashicorp/terraform/releases [apache20]: https://opensource.org/licenses/Apache-2.0 [slack]: https://join.slack.com/t/mineiros-community/shared_invite/zt-ehidestg-aLGoIENLVs6tvwJ11w9WGg - -[Terraform]: https://www.terraform.io -[AWS]: https://aws.amazon.com/ -[Semantic Versioning (SemVer)]: https://semver.org/ - +[terraform]: https://www.terraform.io +[aws]: https://aws.amazon.com/ +[semantic versioning (semver)]: https://semver.org/ [variables.tf]: https://github.com/mineiros-io/terraform-github-repository/blob/master/variables.tf [examples/]: https://github.com/mineiros-io/terraform-github-repository/blob/master/examples -[Issues]: https://github.com/mineiros-io/terraform-github-repository/issues -[LICENSE]: https://github.com/mineiros-io/terraform-github-repository/blob/master/LICENSE -[Makefile]: https://github.com/mineiros-io/terraform-github-repository/blob/master/Makefile -[Pull Requests]: https://github.com/mineiros-io/terraform-github-repository/pulls -[Contribution Guidelines]: https://github.com/mineiros-io/terraform-github-repository/blob/master/CONTRIBUTING.md +[issues]: https://github.com/mineiros-io/terraform-github-repository/issues +[license]: https://github.com/mineiros-io/terraform-github-repository/blob/master/LICENSE +[makefile]: https://github.com/mineiros-io/terraform-github-repository/blob/master/Makefile +[pull requests]: https://github.com/mineiros-io/terraform-github-repository/pulls +[contribution guidelines]: https://github.com/mineiros-io/terraform-github-repository/blob/master/CONTRIBUTING.md diff --git a/examples/README.md b/examples/README.md index bec2efe5..ad60f3ea 100644 --- a/examples/README.md +++ b/examples/README.md @@ -11,16 +11,16 @@ + [public-respository/]: https://github.com/mineiros-io/terraform-github-repository/blob/master/examples/public-respository + [homepage]: https://mineiros.io/?ref=terraform-github-repository - [badge-license]: https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg [badge-terraform]: https://img.shields.io/badge/terraform-0.13%20and%200.12.20+-623CE4.svg?logo=terraform [badge-slack]: https://img.shields.io/badge/slack-@mineiros--community-f32752.svg?logo=slack [badge-semver]: https://img.shields.io/github/v/tag/mineiros-io/terraform-github-repository.svg?label=latest&sort=semver - [releases-github]: https://github.com/mineiros-io/terraform-github-repository/releases [releases-terraform]: https://github.com/hashicorp/terraform/releases [apache20]: https://opensource.org/licenses/Apache-2.0 diff --git a/examples/public-repository/README.md b/examples/public-repository/README.md index 3e5c9f49..1f5f848c 100644 --- a/examples/public-repository/README.md +++ b/examples/public-repository/README.md @@ -109,15 +109,15 @@ Run `terraform destroy` to destroy all resources again. + [main.tf]: https://github.com/mineiros-io/terraform-github-repository/blob/master/examples/public-respository/main.tf + [homepage]: https://mineiros.io/?ref=terraform-github-repository - [badge-license]: https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg [badge-terraform]: https://img.shields.io/badge/terraform-0.13%20and%200.12.20+-623CE4.svg?logo=terraform [badge-slack]: https://img.shields.io/badge/slack-@mineiros--community-f32752.svg?logo=slack - [releases-terraform]: https://github.com/hashicorp/terraform/releases [apache20]: https://opensource.org/licenses/Apache-2.0 [slack]: https://join.slack.com/t/mineiros-community/shared_invite/zt-ehidestg-aLGoIENLVs6tvwJ11w9WGg diff --git a/test/README.md b/test/README.md index e9bba4fa..4ffcf867 100644 --- a/test/README.md +++ b/test/README.md @@ -12,7 +12,7 @@ of the modules that ship with this repository. ## Introduction We are using [Terratest] for automated tests that are located in the -[`test/` directory][Testdirectory]. Terratest deploys _real_ infrastructure +[`test/` directory][testdirectory]. Terratest deploys _real_ infrastructure (e.g., servers) in a _real_ environment (e.g., AWS). The basic usage pattern for writing automated tests with Terratest is to: @@ -62,19 +62,17 @@ Alternatively, you can also run the tests without Docker. -[Makefile]: https://github.com/mineiros-io/terraform-github-repository/blob/master/Makefile -[Testdirectory]: https://github.com/mineiros-io/terraform-github-repository/tree/master/test - +[makefile]: https://github.com/mineiros-io/terraform-github-repository/blob/master/Makefile +[testdirectory]: https://github.com/mineiros-io/terraform-github-repository/tree/master/test [homepage]: https://mineiros.io/?ref=terraform-github-repository -[Terratest]: https://github.com/gruntwork-io/terratest +[terratest]: https://github.com/gruntwork-io/terratest [package testing]: https://golang.org/pkg/testing/ -[Docker]: https://docs.docker.com/get-started/ -[Go]: https://golang.org/ -[Terraform]: https://www.terraform.io/downloads.html +[docker]: https://docs.docker.com/get-started/ +[go]: https://golang.org/ +[terraform]: https://www.terraform.io/downloads.html [badge-license]: https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg [badge-terraform]: https://img.shields.io/badge/terraform-0.13%20and%200.12.20+-623CE4.svg?logo=terraform [badge-slack]: https://img.shields.io/badge/slack-@mineiros--community-f32752.svg?logo=slack - [releases-terraform]: https://github.com/hashicorp/terraform/releases [apache20]: https://opensource.org/licenses/Apache-2.0 [slack]: https://join.slack.com/t/mineiros-community/shared_invite/zt-ehidestg-aLGoIENLVs6tvwJ11w9WGg diff --git a/versions.tf b/versions.tf index 9cd1b611..e7190a4c 100644 --- a/versions.tf +++ b/versions.tf @@ -6,6 +6,6 @@ terraform { required_version = ">= 0.12.20, < 0.14" required_providers { - github = ">= 2.6, < 4.0" + github = ">= 2.6, < 4.0, != 3.1.0" } }