integrations / terraform-provider-github

Terraform GitHub provider
https://www.terraform.io/docs/providers/github/
MIT License
887 stars 730 forks source link

[BUG]: Cannot disable squash merge because of 422 Validation Failed #2147

Open ecolomer opened 7 months ago

ecolomer commented 7 months ago

Expected Behavior

When I run a terraform plan for github_repository resources, which have allow_squash_merge set to false, I should not see any values for squash_merge_commit_message and squash_merge_commit_title.

Actual Behavior

The provider code sets a default for squash_merge_commit_message and squash_merge_commit_title, even when allow_squash_merge is set to false.

And then, when I run a terraform apply, I get the following error:

Error: PATCH https://api.github.com/repos/xxxx/xxxx: 422 Validation Failed [{Resource:Repository Field:merge_commit_allowed Code:invalid Message:Sorry, you need to allow the squash merge strategy in order to set the default squash commit message title or message. (no_squash_merge_strategy)}]

Terraform Version

Terraform v1.2.9 on darwin_arm64 + provider registry.terraform.io/hashicorp/tls v4.0.5 + provider registry.terraform.io/integrations/github v5.45.0

Affected Resource(s)

Terraform Configuration Files

resource "github_repository" "default" {
  allow_auto_merge            = false
  allow_merge_commit          = true
  allow_rebase_merge          = false
  allow_squash_merge          = false
  archive_on_destroy          = true
  archived                    = false
  auto_init                   = true
  delete_branch_on_merge      = false
  has_downloads               = false
  has_issues                  = false
  has_projects                = false
  has_wiki                    = false
  is_template                 = false
  name                        = "my-test-repo"
  visibility                  = "internal"
}

Steps to Reproduce

No response

Debug Output

No response

Panic Output

No response

Code of Conduct

JackPGreen commented 4 months ago

Related.