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

fix(resource_github_release): Handle missing release in read #2115

Conversation

arunsathiya
Copy link
Contributor

@arunsathiya arunsathiya commented Jan 25, 2024

Resolves #1864


Before the change?

  • When a GitHub release is deleted manually (outside of Terraform state), resource_github_release doesn't handle that situation and throws an error. Example:
╷
│ Warning: Provider development overrides are in effect
│
│ The following provider development overrides are set in the CLI configuration:
│  - integrations/github in /Users/arun/go/bin
│
│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible with published
│ releases.
╵
github_repository.example: Refreshing state... [id=repo-terraform]
github_release.example: Refreshing state... [id=138562207]

Planning failed. Terraform encountered an error while generating this plan.

╷
│ Error: GET https://api.github.com/repos/arunsathiya/repo-terraform/releases/138562207: 404 Not Found []
│
│   with github_release.example,
│   on main.tf line 46, in resource "github_release" "example":
│   46: resource "github_release" "example" {
│
╵

After the change?

  • resource_github_release now appropriately learns that the release is missing and informs Terraform state.
╷
│ Warning: Provider development overrides are in effect
│
│ The following provider development overrides are set in the CLI configuration:
│  - integrations/github in /Users/arun/go/bin
│
│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible with published
│ releases.
╵
tgithub_repository.example: Refreshing state... [id=repo-terraform]
 github_release.example: Refreshing state... [id=138566317]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # github_release.example will be created
  + resource "github_release" "example" {
      + draft                  = false
      + etag                   = (known after apply)
      + generate_release_notes = false
      + id                     = (known after apply)
      + name                   = "example"
      + prerelease             = true
      + repository             = "repo-terraform"
      + tag_name               = "v1.0.3"
      + target_commitish       = "main"
    }

Plan: 1 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Saved the plan to: plan.tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "plan.tfplan"

Pull request checklist

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Does this introduce a breaking change?

Please see our docs on breaking changes to help!

  • Yes
  • No

Copy link
Member

@kfcampbell kfcampbell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@kfcampbell kfcampbell merged commit 9008816 into integrations:main Feb 5, 2024
3 checks passed
@arunsathiya arunsathiya deleted the fix/1864-handle-manually-deleted-github-release-state branch February 6, 2024 06:09
antnsn added a commit to CMCS-Norway/github-governance that referenced this pull request Mar 14, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github](https://registry.terraform.io/providers/integrations/github)
([source](https://togithub.com/integrations/terraform-provider-github))
| required_provider | minor | `6.0.0-beta` -> `6.1.0` |

---

### Release Notes

<details>
<summary>integrations/terraform-provider-github (github)</summary>

###
[`v6.1.0`](https://togithub.com/integrations/terraform-provider-github/releases/tag/v6.1.0)

[Compare
Source](https://togithub.com/integrations/terraform-provider-github/compare/v6.0.1...v6.1.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

##### What's Changed

- fix: validation rule for `results_per_page` of `github_repositories`
data source by [@&#8203;dschniepp](https://togithub.com/dschniepp) in
[integrations/terraform-provider-github#2185
- fix: Prevent loading of allowed actions if not configured by
[@&#8203;Danielku15](https://togithub.com/Danielku15) in
[integrations/terraform-provider-github#2186
- fix(data_source_github_rest_api): only allow for 404 on err by
[@&#8203;riezebosch](https://togithub.com/riezebosch) in
[integrations/terraform-provider-github#2154
- fix: error if autolink reference not found by
[@&#8203;bradam12](https://togithub.com/bradam12) in
[integrations/terraform-provider-github#2164
- feat: Add `github_actions_enterprise_permissions` by
[@&#8203;ErikElkins](https://togithub.com/ErikElkins) in
[integrations/terraform-provider-github#2155
- docs: configure release notes categories based on labels by
[@&#8203;laughedelic](https://togithub.com/laughedelic) in
[integrations/terraform-provider-github#2184

##### New Contributors

- [@&#8203;dschniepp](https://togithub.com/dschniepp) made their first
contribution in
[integrations/terraform-provider-github#2185
- [@&#8203;riezebosch](https://togithub.com/riezebosch) made their first
contribution in
[integrations/terraform-provider-github#2154
- [@&#8203;bradam12](https://togithub.com/bradam12) made their first
contribution in
[integrations/terraform-provider-github#2164
- [@&#8203;ErikElkins](https://togithub.com/ErikElkins) made their first
contribution in
[integrations/terraform-provider-github#2155
- [@&#8203;laughedelic](https://togithub.com/laughedelic) made their
first contribution in
[integrations/terraform-provider-github#2184

**Full Changelog**:
integrations/terraform-provider-github@v6.0.1...v6.1.0

###
[`v6.0.1`](https://togithub.com/integrations/terraform-provider-github/releases/tag/v6.0.1)

[Compare
Source](https://togithub.com/integrations/terraform-provider-github/compare/v6.0.0...v6.0.1)

#### What's Changed

- build(deps): bump github.com/golangci/golangci-lint from 1.56.1 to
1.56.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2159
- build(deps): bump github.com/hashicorp/terraform-plugin-sdk/v2 from
2.31.0 to 2.32.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2160
- build(deps): bump github.com/hashicorp/terraform-plugin-sdk/v2 from
2.32.0 to 2.33.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2168
- Fix github_external_groups page title by
[@&#8203;tomasmota](https://togithub.com/tomasmota) in
[integrations/terraform-provider-github#2170
- docs: Update example usage to use version 6.0 by
[@&#8203;rnestler](https://togithub.com/rnestler) in
[integrations/terraform-provider-github#2169
- fix: Make allowed_actions_config optional by
[@&#8203;Danielku15](https://togithub.com/Danielku15) in
[integrations/terraform-provider-github#2114
- GitHub org ignore archived repos by
[@&#8203;felixlut](https://togithub.com/felixlut) in
[integrations/terraform-provider-github#1833
- build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2177
- build(deps): bump golang.org/x/crypto from 0.19.0 to 0.21.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2180
- build(deps): bump actions/add-to-project from 0.5.0 to 0.6.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2175

#### New Contributors

- [@&#8203;tomasmota](https://togithub.com/tomasmota) made their first
contribution in
[integrations/terraform-provider-github#2170
- [@&#8203;rnestler](https://togithub.com/rnestler) made their first
contribution in
[integrations/terraform-provider-github#2169
- [@&#8203;Danielku15](https://togithub.com/Danielku15) made their first
contribution in
[integrations/terraform-provider-github#2114

**Full Changelog**:
integrations/terraform-provider-github@v6.0.0...v6.1.0

###
[`v6.0.0`](https://togithub.com/integrations/terraform-provider-github/releases/tag/v6.0.0)

[Compare
Source](https://togithub.com/integrations/terraform-provider-github/compare/v6.0.0-rc2...v6.0.0)

#### v6.0.0

Includes the following changes:

-
[#&#8203;1704](https://togithub.com/integrations/terraform-provider-github/issues/1704)
-
[#&#8203;2045](https://togithub.com/integrations/terraform-provider-github/issues/2045)
-
[#&#8203;1780](https://togithub.com/integrations/terraform-provider-github/issues/1780)
-
[#&#8203;1918](https://togithub.com/integrations/terraform-provider-github/issues/1918)
-
[#&#8203;2133](https://togithub.com/integrations/terraform-provider-github/issues/2133)

As we've upgraded Terraform SDK versions and are checking more errors,
you may see slightly different logging and error messages. Please use
the project's issues to report anything unexpected or buggy!

**Full Changelog**:
integrations/terraform-provider-github@v5.45.0...v6.0.0

###
[`v6.0.0-rc2`](https://togithub.com/integrations/terraform-provider-github/releases/tag/v6.0.0-rc2)

[Compare
Source](https://togithub.com/integrations/terraform-provider-github/compare/v6.0.0-rc1...v6.0.0-rc2)

#### What's Changed

- fix(resource_github_release): Handle missing release in read by
[@&#8203;arunsathiya](https://togithub.com/arunsathiya) in
[integrations/terraform-provider-github#2115
- docs: update commit_message arg desc for repository_file resource by
[@&#8203;manjinder-mckc](https://togithub.com/manjinder-mckc) in
[integrations/terraform-provider-github#2125
- Set group_id correctly in EMU mapping resource by
[@&#8203;kfcampbell](https://togithub.com/kfcampbell) in
[integrations/terraform-provider-github#2133

#### New Contributors

- [@&#8203;arunsathiya](https://togithub.com/arunsathiya) made their
first contribution in
[integrations/terraform-provider-github#2115

**Full Changelog**:
integrations/terraform-provider-github@v6.0.0-rc1...v6.0.0-rc2

###
[`v6.0.0-rc1`](https://togithub.com/integrations/terraform-provider-github/releases/tag/v6.0.0-rc1)

[Compare
Source](https://togithub.com/integrations/terraform-provider-github/compare/v6.0.0-beta...v6.0.0-rc1)

#### What's Changed

- fix: github_rest_api data source always returns header and body as
null by [@&#8203;srgustafson8](https://togithub.com/srgustafson8) in
[integrations/terraform-provider-github#2110
- build(deps): bump peter-evans/create-or-update-comment from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2121
- build(deps): bump github.com/google/uuid from 1.5.0 to 1.6.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[integrations/terraform-provider-github#2120
- Add support for packages IP ranges in github_ip_ranges by
[@&#8203;Nmishin](https://togithub.com/Nmishin) in
[integrations/terraform-provider-github#1958
- Fix restrict pushes on github_branch_protection. Fix branch protection
tests by [@&#8203;georgekaz](https://togithub.com/georgekaz) in
[integrations/terraform-provider-github#2045

#### New Contributors

- [@&#8203;georgekaz](https://togithub.com/georgekaz) made their first
contribution in
[integrations/terraform-provider-github#2045

**Full Changelog**:
integrations/terraform-provider-github@v6.0.0-beta...v6.0.0-rc1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/CMCS-Norway/github-governance).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG]: Provider fails whenever a github_release is manually deleted from GitHub
2 participants