integrations / terraform-provider-github

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

[BUG]: Resource `github_repository_ruleset` doesn't delete `bypass_actors` on GitHub #2179

Open ViacheslavKudinov opened 5 months ago

ViacheslavKudinov commented 5 months ago

Expected Behavior

Bypass actors are deleted on the Rule when Terraform code doesn't contain it anymore

Actual Behavior

Bypass actors are still present on the Rule when Terraform code doesn't contain it anymore

Terraform Version

Terraform v1.7.4 on darwin_arm64

Affected Resource(s)

Terraform Configuration Files

resource "github_repository_ruleset" "rule_01" {
  name        = "Usual branch protection"
  repository  = SOME_REPO
  target      = "branch"
  enforcement = "active"

  conditions {
    ref_name {
      include = ["~ALL"]
      exclude = []
    }
  }
  # bypass_actors {
  #   actor_id    = github_team.SOME_TEAM.id
  #   actor_type  = "Team"
  #   bypass_mode = "pull_request"
  # }
  rules {
    pull_request {
      dismiss_stale_reviews_on_push     = false
      require_code_owner_review         = true
      require_last_push_approval        = false
      required_approving_review_count   = 1
      required_review_thread_resolution = false
    }
  }
}

Steps to Reproduce

Uncomment bypass_actors, run terraform apply check GitHub UI, comment bypass_actors again, run terraform apply check output

  ~ resource "github_repository_ruleset" "rule_01" {
        id          = "CENSORED"
        name        = "Usual branch protection"
        # (6 unchanged attributes hidden)

      - bypass_actors {
          - actor_id    = CENSORED -> null
          - actor_type  = "Team" -> null
          - bypass_mode = "pull_request" -> null
        }

        # (2 unchanged blocks hidden)
    }

check UI, Bypass actor setting is still here

Screenshot 2024-03-04 at 6 22 26 PM

Debug Output

No response

Panic Output

No response

Code of Conduct