Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Importing github_repository_environment_deployment_policy resource does not populate repository and environment fields. #2012

Closed
1 task done
dcfsc opened this issue Nov 10, 2023 · 3 comments
Labels
Status: Stale Used by stalebot to clean house Status: Up for grabs Issues that are ready to be worked on by anyone Type: Bug Something isn't working as documented

Comments

@dcfsc
Copy link
Contributor

dcfsc commented Nov 10, 2023

Expected Behavior

After import and terraform plan, should see

No changes. Your infrastructure matches the configuration.

Actual Behavior

  1. terraform plan
# github_repository_environment_deployment_policy.feature must be replaced  
-/+ resource "github_repository_environment_deployment_policy" "feature" {  
      + environment    = "dly" # forces replacement  
      ~ id             = "xxx-recs-event-streaming:dly:1212XXXX" -> (known after apply)  
      + repository     = "xxx-recs-event-streaming" # forces replacement  
        # (1 unchanged attribute hidden)  
    }

Terraform Version

$ terragrunt version
Terraform v1.6.2
on linux_amd64

  • provider registry.terraform.io/hashicorp/azuread v2.35.0
  • provider registry.terraform.io/hashicorp/azurerm v3.50.0
  • provider registry.terraform.io/integrations/github v5.42.0

Affected Resource(s)

  • github_repository_environment_deployment_policy

Terraform Configuration Files

resource github_repository_environment env {
  environment = var.env
  repository  = var.repository.name

  deployment_branch_policy {
    protected_branches     = true
    custom_branch_policies = true
  }
}

resource "github_repository_environment_deployment_policy" "feature" {  
  repository        = data.github_repository.xxxx.name  
  environment       = github_actions_environment.env.environment  
  branch_pattern = "feature/**"  
}

Steps to Reproduce

  1. Create an environment
  2. Add a deployment policy via the portal
  3. Define the policy in configuration:
  4. Import the policy
$ tg import github_repository_environment_deployment_policy.feature xxx-recs-event-streaming:dly:1212XXXX  
  1. Examining the state -- note the nulls
{  
  "mode": "managed",  
  "type": "github_repository_environment_deployment_policy",  
  "name": "master",  
  "provider": "provider[\"registry.terraform.io/integrations/github\"]",  
  "instances": [  
    {  
      "schema_version": 0,  
      "attributes": {  
        "branch_pattern": "master",  
        "environment": null,  <<<<< BAD
        "id": "xxx-recs-event-streaming:dly:1212XXXX",  
        "repository": null    <<<<<< BAD
      },  
      "sensitive_attributes": [],  
      "private": "xxxxxxx=="  
    }  
  ]  
},
  1. workaround: patch the state directly and push the fixed state:
{  
  "mode": "managed",  
  "type": "github_repository_environment_deployment_policy",  
  "name": "master",  
  "provider": "provider[\"registry.terraform.io/integrations/github\"]",  
  "instances": [  
    {  
      "schema_version": 0,  
      "attributes": {  
        "branch_pattern": "master",  
        "environment": "dly",  
        "id": "xxx-recs-event-streaming:dly:1212XXXX",  
        "repository": "xxx-recs-event-streaming"  
      },  
      "sensitive_attributes": [],  
      "private": "XXXXX=="  
    }  
  ]  
},
  1. now a plan....
...
github_repository_environment_deployment_policy.master: Refreshing state... [id=xxx-recs-event-streaming:dly:1212XXXX]  
...
data.azurerm_subscription.current: Read complete after 0s [id=/subscriptions/XXXX]  
  
No changes. Your infrastructure matches the configuration.

Debug Output

No response

Panic Output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@dcfsc dcfsc added Status: Triage This is being looked at and prioritized Type: Bug Something isn't working as documented labels Nov 10, 2023
Copy link

👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! We have a process in place for prioritizing and responding to your input. Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labled with Status: Up for grabs. You & others like you are the reason all of this works! So thank you & happy coding! 🚀

@nickfloyd nickfloyd added Status: Up for grabs Issues that are ready to be worked on by anyone and removed Status: Triage This is being looked at and prioritized labels Nov 13, 2023
@nickfloyd nickfloyd moved this from 🆕 Triage to 🔥 Backlog in 🧰 Octokit Active Nov 13, 2023
@mw-root
Copy link

mw-root commented Mar 4, 2024

This is a really frustrating bug. If you have piles of repos you sit waiting for it to re-create all these resources and your deployment environments are flapping in and out.

Copy link

👋 Hey Friends, this issue has been automatically marked as stale because it has no recent activity. It will be closed if no further activity occurs. Please add the Status: Pinned label if you feel that this issue needs to remain open/active. Thank you for your contributions and help in keeping things tidy!

@github-actions github-actions bot added the Status: Stale Used by stalebot to clean house label Nov 30, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 7, 2024
@github-project-automation github-project-automation bot moved this from 🔥 Backlog to ✅ Done in 🧰 Octokit Active Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Stale Used by stalebot to clean house Status: Up for grabs Issues that are ready to be worked on by anyone Type: Bug Something isn't working as documented
Projects
None yet
Development

No branches or pull requests

3 participants