Skip to content

WIP: Add data sources for hosted runner custom images#3286

Draft
austenstone wants to merge 41 commits into
integrations:mainfrom
austenstone:feat/hosted-runner-custom-images
Draft

WIP: Add data sources for hosted runner custom images#3286
austenstone wants to merge 41 commits into
integrations:mainfrom
austenstone:feat/hosted-runner-custom-images

Conversation

@austenstone

Copy link
Copy Markdown
Contributor

Summary

Add three new data sources for managing custom images on GitHub-hosted runners:

Data Source API Endpoint Description
github_actions_hosted_runner_custom_images GET /orgs/{org}/actions/hosted-runners/images/custom List all custom images for an org
github_actions_hosted_runner_custom_image GET /orgs/{org}/actions/hosted-runners/images/custom/{id} Get a single custom image definition
github_actions_hosted_runner_custom_image_versions GET /orgs/{org}/actions/hosted-runners/images/custom/{id}/versions List versions of a custom image

Blocked On

Current Approach

Uses raw HTTP calls via client.NewRequest/client.Do (same pattern as the existing github_actions_hosted_runner resource) to avoid a go-github version bump until the upstream PR merges and releases.

Once go-github releases with the custom image endpoints, these data sources can be migrated to use the typed SDK methods.

What's Included

  • 3 data source implementations
  • 3 acceptance test files
  • Provider registration in provider.go
  • Website documentation for all 3 data sources

New Types from go-github PR

HostedRunnerCustomImage        // id, platform, name, source, versions_count, total_versions_size, latest_version, state
HostedRunnerCustomImageVersion // version, size_gb, state, created_on

Related

Add three new data sources for managing custom images on GitHub-hosted runners:

- github_actions_hosted_runner_custom_images: List all custom images for an org
- github_actions_hosted_runner_custom_image: Get a single custom image definition
- github_actions_hosted_runner_custom_image_versions: List versions of a custom image

WIP: Blocked on google/go-github#4101 merging. Currently uses raw HTTP calls
via the v3client to avoid a go-github version bump. Once the go-github PR
lands and is released, these can be migrated to typed SDK methods.

Includes acceptance tests, provider registration, and website docs.
@github-actions

Copy link
Copy Markdown

👋 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 labeled with Status: Up for grabs. You & others like you are the reason all of this works! So thank you & happy coding! 🚀

@github-actions github-actions Bot added the Type: Feature New feature or request label Mar 16, 2026
austenstone and others added 27 commits March 16, 2026 19:01
…ns (integrations#3222)

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
…ntegrations#2356)

* Define schema for repository_property

Refactor expandConditions to reduce complexity
Refactor logic to reduce the  cognitive complexity and add logic to handle the repository_property field
Flatten conditions for repository_property and fix schemas
Add test case when ruleset use repository_property
Refactor repository property conditions to make them optional
Flatten update Target parameters to allow the detection of changes when remote resource is updated
Update documentation

* Apply format in the code base

* Fix repository_property validation and docs

  - Add ValidateFunc to include.source field for consistency with exclude
  - Update docs to mention repository_property as third targeting option
  - Fix missing space in documentation

* Support repository_property in push rulesets

* Remove unused customdiff imports

* Replace custom validation with built-in ExactlyOneOf for repo targeting

Add ExactlyOneOf/AtLeastOneOf to repository_property, repository_name,repository_id fields.
Remove manual validation counting in util_ruleset_validation.Add 3 validation tests for single/multiple/missing repo targeting options.
Addresses PR integrations#2356 review feedback - simplifies validation using schema constraints.

* Rever unintencial change

* Add tests, docs, and fix default handling for repository_property

- Add doc example for repository_property usage
- Add tests for exclude block, multiple properties, and updates
- Fix source field default handling in flatten function to prevent diffs

* Apply suggestions from PR comment

* Add unit tests

* Remove redundant condition

* Updated description based in the GitHub API docs

* Apply linter and fmt

* Remove unnecessary checks

* Remove tests

These tests check validation that was handover to the Terraform built-in validation

* Improve syntax for include and exclude property

Improve e2e tests for the ruleset and improve documentation

* Use t context

* Rewrite tests using the resource_github_organization_custom_properties

Setup the tests case using the config instead of using the API

* Refactor repository property names in organization ruleset tests for consistency

* Refactor tests to use state checks for repository property validation in organization ruleset

* Update repository property references to use default_branch in organization ruleset tests

* Fix: Replace ExactlyOneOf with ConflictsWith/AtLeastOneOf for repository conditions

ExactlyOneOf has known issues with nested optional list blocks in Terraform SDK.
Use ConflictsWith + AtLeastOneOf pattern for reliable "exactly one" validation
across repository_name, repository_id, and repository_property conditions.

Updated test expectations to match new error message format from ConflictsWith.

Addresses feedback from PR integrations#2356 comment r2968116244, references fix from integrations#3235

* Apply lint
…ions#3215)

* Update resource ID to be <group-id>:<team-id>

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Fix `tflog.SetField` usage

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update tests to use `terraform-plugin-testing` and fix broken tests

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update docs

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Cleanup extra `tflog.SetField` calls

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Reducing logger complexity

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Improve error messages in `Import`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

---------

Signed-off-by: Timo Sand <timo.sand@f-secure.com>
…ions#2649)

* Adding github_enterprise_ip_allow_list_entry resource

* Update github/resource_github_enterprise_ip_allow_list_entry.go

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Update github/resource_github_enterprise_ip_allow_list_entry.go

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Update github/resource_github_enterprise_ip_allow_list_entry.go

Co-authored-by: gateixeira <4645845+gateixeira@users.noreply.github.com>

* Update github/resource_github_enterprise_ip_allow_list_entry_test.go

Co-authored-by: gateixeira <4645845+gateixeira@users.noreply.github.com>

* Update github/resource_github_enterprise_ip_allow_list_entry_test.go

Co-authored-by: gateixeira <4645845+gateixeira@users.noreply.github.com>

* Code review fixes

* Fixes from code review

* Fixing code review comments

* Update resource_github_enterprise_ip_allow_list_entry.go

Co-authored-by: Timo Sand <timo.sand@iki.fi>

* Update resource_github_enterprise_ip_allow_list_entry.go

Co-authored-by: Timo Sand <timo.sand@iki.fi>

* Update github/resource_github_enterprise_ip_allow_list_entry_test.go

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Update github/resource_github_enterprise_ip_allow_list_entry.go

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Code review changes

* Fixing config in test

* Flattening update test

* Adding error handling

* Simplifying import function

* Fix docs

* Fixing code review changes

* Fixing lint

* Adding error handling for missing global ID

* Removing two old functions

* Fixing lint

---------

Co-authored-by: Nick Floyd <139819+nickfloyd@users.noreply.github.com>
Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>
Co-authored-by: gateixeira <4645845+gateixeira@users.noreply.github.com>
Co-authored-by: Timo Sand <timo.sand@iki.fi>
…ions#3166)

* Add resource for repository vulnerability alerts

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Mark `vulnerability_alerts` in `github_repository` as deprecated

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update formatting

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update import after rebase

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Correct file names

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Address review comments

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Simplify `SetId`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Comment out `owner` until we can support it better

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Refactor to use `ConfigStateChecks`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update import ID to only repository name

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Improves tests

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Updates docs

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add clearer error for user when trying to add to an archived repository

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Re-order `SetId`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Simplify archived repo handling

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Fix behaviour on archived repository

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

---------

Signed-off-by: Timo Sand <timo.sand@f-secure.com>
The anonymous HTTP client was using a bare `http.Transport{}`
which does not respect `HTTP_PROXY`/`HTTPS_PROXY` environment
variables. This change clones `http.DefaultTransport` instead,
which has `Proxy: http.ProxyFromEnvironment` set by default.

Related to integrations#1509

Signed-off-by: Diogo Correia <diogo.correia@siemens.com>
…tions#3220)

* Update docs

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update tests and add missing coverage

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add more tests to cover `Import` and a few more `Update` cases

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Refactor `Import` to be Context-aware

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Refactor to use Context-aware functions

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Use `resource.ParallelTest` to make testing quicker

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Remove unused call to `Read`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Uncouple `Create` and `Update`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Fix resource to be able to set empty `review_request_delegation` block

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add top-level `notify` to enable setting it without `review_request_delegation`

Mark nested `notify` as deprecated

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update docs

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Consolidate `getTeamSlugContext` and `resolveTeamIDs` to use shared logic with `getTeam`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Remove named returns

* Fix missing reference

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Simplify `resolveNotify`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

---------

Signed-off-by: Timo Sand <timo.sand@f-secure.com>
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
…org data source (integrations#3359)

The github_organization data source was using
GetMembersCanCreatePrivateRepos() instead of
GetMembersCanForkPrivateRepos() to populate the
members_can_fork_private_repositories attribute, causing it to
return the value of members_can_create_private_repositories instead.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ations#3168)

* Add resource for repository pages and deprecate it from repository R

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add data source for repository pages and deprecate it from repository DS

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update formatting of docs page

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Change `github_repository` to only Read pages info if pages is in the config

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Fix faulty test

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update Import test

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add `repository_id` diff logic and unify naming

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Use `ConfigStateChecks` in DS tests

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Refactor to use `ConfigStateChecks` in Resource

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Comment out `owner` field for now

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Comment out `owner` field for DS as well

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Simplify import ID

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add support for `public` field in pages

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update docs

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Improve field descriptions

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Only modify `CNAME` in state if it has a value upstream

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add `https_enforced` field

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Update `go-github` version

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Replace `switch` with `if`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Re-order `d.Set` calls

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Restructure `UpdatePages` section

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Refactor tests to use `testAccConf.testRepositoryVisibility`

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Fix linter

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add tests to ensure that `source` validation works properly

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add more debug logging and fix validation

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Fixed validation tests to notify when they are not working

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Add comments to make it clearer why we need to use this partial value setting in Create

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Remove unnecessary `hasChanges` checks and explain the ones that are unnecessary

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Address review comments

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Reduce test time by parallelising

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

---------

Signed-off-by: Timo Sand <timo.sand@f-secure.com>
…rations#3371)

When the invitee of `github_repository_collaborators` is an organization
member who is not yet a direct collaborator, GitHub's REST API returns
`204 No Content` from `PUT /repos/{owner}/{repo}/collaborators/{username}`
(the user is promoted to direct collaborator immediately, no invitation is
issued). The Go client surfaces this as `inv == nil, err == nil`.

Since integrations#3233 the create/update path in `updateUserCollaboratorsAndInvites`
unconditionally dereferences `inv.ID`, causing a nil pointer panic for
any configuration that adds an org member as a direct collaborator for
the first time.

Guard the invitation-tracking branch on `inv != nil`. On the 204 path
there is no invitation to record; the user is a direct collaborator
already and will be picked up by the next `listUserCollaborators` call.

Signed-off-by: bofus10 <33520078+bofus10@users.noreply.github.com>
* Update Read to combine Invites and Collaborator users

This is to prevent drift when external users have not accepted invites yet.

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Improve DEBUG logging of repo collaborators

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

* Revert `ParallelTest` changes

Signed-off-by: Timo Sand <timo.sand@f-secure.com>

---------

Signed-off-by: Timo Sand <timo.sand@f-secure.com>
* chore: Use tf plugin docs

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

* fixup! chore: Use tf plugin docs

* fixup! chore: Use tf plugin docs

---------

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
…updates (integrations#3397)

Bumps the github-actions group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [rvben/rumdl](https://github.com/rvben/rumdl) | `0.1.84` | `0.1.88` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.32.3` | `4.35.3` |
| [anchore/sbom-action](https://github.com/anchore/sbom-action) | `0.22.2` | `0.24.0` |
| [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) | `4.0.0` | `4.1.1` |
| [actions/stale](https://github.com/actions/stale) | `10.1.1` | `10.2.0` |



Updates `rvben/rumdl` from 0.1.84 to 0.1.88
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](rvben/rumdl@f3ca9f4...6fd01e7)

Updates `github/codeql-action` from 4.32.3 to 4.35.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@9e907b5...e46ed2c)

Updates `anchore/sbom-action` from 0.22.2 to 0.24.0
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](anchore/sbom-action@28d7154...e22c389)

Updates `sigstore/cosign-installer` from 4.0.0 to 4.1.1
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](sigstore/cosign-installer@faadad0...cad07c2)

Updates `actions/stale` from 10.1.1 to 10.2.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@9971854...b5d41d4)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.88
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.35.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: anchore/sbom-action
  dependency-version: 0.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: sigstore/cosign-installer
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 10.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ions#3398)

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
…updates (integrations#3400)

Bumps the github-actions group with 2 updates in the / directory: [rvben/rumdl](https://github.com/rvben/rumdl) and [actions/labeler](https://github.com/actions/labeler).


Updates `rvben/rumdl` from 0.1.88 to 0.1.89
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](rvben/rumdl@6fd01e7...e8c3029)

Updates `actions/labeler` from 6.0.1 to 6.1.0
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](actions/labeler@634933e...f27b608)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.89
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/labeler
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…integrations#3401)

Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 3.2.0 to 4.1.0.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](actions/attest-build-provenance@96278af...a2bbfa2)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…grations#3404)

Bumps [hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform) from 3.1.2 to 4.0.0.
- [Release notes](https://github.com/hashicorp/setup-terraform/releases)
- [Changelog](https://github.com/hashicorp/setup-terraform/blob/main/CHANGELOG.md)
- [Commits](hashicorp/setup-terraform@v3.1.2...5e8dbf3)

---
updated-dependencies:
- dependency-name: hashicorp/setup-terraform
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot Bot and others added 13 commits June 9, 2026 02:21
Bumps the gomod-security group with 1 update in the / directory: [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose).


Updates `github.com/go-jose/go-jose/v4` from 4.1.3 to 4.1.4
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Commits](go-jose/go-jose@v4.1.3...v4.1.4)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v4
  dependency-version: 4.1.4
  dependency-type: direct:production
  dependency-group: gomod-security
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Lasse Gaardsholt <lasse.gaardsholt@bestseller.com>
…updates (integrations#3427)

Bumps the github-actions group with 3 updates in the / directory: [hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform), [rvben/rumdl](https://github.com/rvben/rumdl) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `hashicorp/setup-terraform` from 4.0.0 to 4.0.1
- [Release notes](https://github.com/hashicorp/setup-terraform/releases)
- [Changelog](https://github.com/hashicorp/setup-terraform/blob/main/CHANGELOG.md)
- [Commits](hashicorp/setup-terraform@5e8dbf3...dfe3c3f)

Updates `rvben/rumdl` from 0.1.90 to 0.1.91
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](rvben/rumdl@9a78b14...3cf0ff7)

Updates `github/codeql-action` from 4.35.3 to 4.35.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@e46ed2c...68bde55)

---
updated-dependencies:
- dependency-name: hashicorp/setup-terraform
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: rvben/rumdl
  dependency-version: 0.1.91
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.35.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the gomod group with 1 update in the / directory: [golang.org/x/crypto](https://github.com/golang/crypto).


Updates `golang.org/x/crypto` from 0.50.0 to 0.51.0
- [Commits](golang/crypto@v0.50.0...v0.51.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gomod
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update issue templates

* Update issue templates

* Update .github/ISSUE_TEMPLATE/bug.yml

Co-authored-by: Timo Sand <timo.sand@iki.fi>

* Update .github/ISSUE_TEMPLATE/bug.yml

Co-authored-by: Timo Sand <timo.sand@iki.fi>

* Update .github/ISSUE_TEMPLATE/bug.yml

Co-authored-by: Timo Sand <timo.sand@iki.fi>

* Update  bug template

* Removed panic logs field

* chore: Update templates according to suggestions

Signed-off-by: Viacheslav Kudinov <viacheslav@kudinov.tech>

---------

Signed-off-by: Viacheslav Kudinov <viacheslav@kudinov.tech>
Co-authored-by: Timo Sand <timo.sand@iki.fi>
Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Timo Sand <timo.sand@f-secure.com>
…updates (integrations#3439)

Bumps the github-actions group with 4 updates in the / directory: [rvben/rumdl](https://github.com/rvben/rumdl), [github/codeql-action](https://github.com/github/codeql-action), [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) and [actions/stale](https://github.com/actions/stale).


Updates `rvben/rumdl` from 0.1.91 to 0.1.95
- [Release notes](https://github.com/rvben/rumdl/releases)
- [Changelog](https://github.com/rvben/rumdl/blob/main/CHANGELOG.md)
- [Commits](rvben/rumdl@3cf0ff7...b2164bb)

Updates `github/codeql-action` from 4.35.4 to 4.35.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@68bde55...9e0d7b8)

Updates `goreleaser/goreleaser-action` from 7.2.1 to 7.2.2
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](goreleaser/goreleaser-action@1a80836...5daf1e9)

Updates `actions/stale` from 10.2.0 to 10.3.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@b5d41d4...eb5cf3a)

---
updated-dependencies:
- dependency-name: rvben/rumdl
  dependency-version: 0.1.95
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: goreleaser/goreleaser-action
  dependency-version: 7.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 10.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
* CCR

* Move skill around

* Prevent read after update

* Make review compatible with CCR

* Add nit policy

* Pin go version for feedback

* Address review feedback from @deiga

- Correct Go version anchor: 1.24 -> 1.26 (matches go.mod).
- Drop ValidateFunc everywhere; ValidateDiagFunc only (ValidateFunc is
  deprecated and not allowed in this repo).
- Rewrite docs.instructions.md to target templates/** instead of the
  no-longer-existing website/**. Docs under docs/** are auto-generated;
  edits go in templates/, examples/, or resource Description fields.
- Replace remaining website/ references in copilot-instructions.md with
  docs/ and templates/.
- Add repository-rename convention to schema-and-state.instructions.md:
  attribute must be 'repository' (not ForceNew), plus computed
  'repository_id', plus CustomizeDiff: diffRepository.
- Add Delete 404 handling: treat as success, not error.
- Require *Context CRUD variants and diag.Diagnostics on all new
  resources.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address @deiga test conventions feedback

Add a 'terraform-plugin-testing Conventions' section to
.github/instructions/tests.instructions.md covering:

- Prefer ConfigStateChecks over the legacy Check /
  ComposeTestCheckFunc pattern.
- Use ValueComparers (compare.ValuesSame / compare.ValuesDiffer) for
  cross-step value comparisons instead of custom pointer structs.
- Don't flag legacy patterns in unmodified tests; only in new or
  substantially modified ones.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Go review instructions from awesome-copilot

Incorporates the upstream Go instructions from
https://github.com/github/awesome-copilot/blob/main/instructions/go.instructions.md
as a path-scoped instructions file (applyTo: **/*.go,**/go.mod,**/go.sum).

A preamble subordinates the Go guidance to the repo's existing severity
policy (HIGH/MEDIUM only, no LOW or nits) and notes the Go-version
anchors in copilot-instructions.md plus the no-read-after-write
exception, so CCR doesn't suddenly start surfacing style nits or fight
provider-specific conventions.

The main copilot-instructions.md now lists every path-scoped file so
the set is discoverable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Address review feedback from @stevehipwell and @deiga

Path-specific instruction files now cross-link to copilot-instructions.md
(and to go.instructions.md from the Go-scoped files), with several
content fixes on top.

docs.instructions.md
- Add a 'How Doc Generation Works' section explaining tfplugindocs,
  the templates/examples/schema layout, and the default-template
  fallback.
- Add a 'Local Doc Workflow' section calling out make generatedocs,
  make validatedocs, make checkdocs, and the rumdl targets.
- Rewrite the schema-sync section as 'fix forward' guidance: fix
  descriptions at the schema or template source, not in the generated
  docs/.
- Soften the Imports section: tfplugindocs auto-generates the import
  section from examples/resources/<name>/import.sh, so reviewers just
  need to verify that section renders.
- Recommend linking to the GitHub REST API reference for permission
  and scope info to avoid stale documentation.
- Note that terraform fmt is the formatting baseline for example HCL.
- Add a relative-link example for internal doc cross-references.

examples.instructions.md
- Distinguish the two kinds of example: single-file tfplugindocs
  snippets (under examples/{provider,resources,data-sources}/) and
  root-module examples (everything else). Standard-module-structure
  rules now apply only to root-module examples.
- Call out that tfplugindocs snippets must not declare
  required_providers or a provider block.

schema-and-state.instructions.md, tests.instructions.md
- Add cross-references to go.instructions.md.

schema-and-state.instructions.md
- Replace the ListOptions/NextPage pagination guidance with a
  recommendation to use the *Iter methods on google/go-github that
  return iter.Seq2[T, error]. Hand-rolled NextPage loops in existing
  code are still acceptable, but flag new code that re-implements
  pagination when an *Iter method exists.

go.instructions.md
- Add a short intro paragraph above the existing callout that links
  to copilot-instructions.md and the other path-scoped files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address CCR feedback on instruction front matter and output rules

go.instructions.md
- Switch the applyTo glob from comma-separated to brace expansion
  ('**/{*.go,go.mod,go.sum}'). Brace expansion is universally
  minimatch-compatible, so this removes any doubt about whether the
  Go instructions actually apply to .go / go.mod / go.sum files.

copilot-instructions.md
- Resolve the conflict between 'ALWAYS acknowledge instructions are
  being used' and 'must say only No blocking findings found and stop'.
  Reviews with findings open with a dedicated acknowledgment sentence;
  reviews with no findings collapse the two requirements into one
  verbatim sentence:
  'These provider review instructions are being used. No blocking findings found.'

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Extend docs.instructions.md applyTo to cover docs/**

CCR pointed out that docs.instructions.md flags manual edits to docs/**
as HIGH but its front matter only applies to templates/**, so the rule
won't fire on PRs that actually touch the generated docs.

- docs.instructions.md: applyTo now '{templates,docs}/**'; opening
  paragraph updated to match.
- copilot-instructions.md: bullet updated so the instruction map
  reflects the new coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Correct example layout in docs/examples instructions

CCR caught two factual errors in the previous round:

- examples/provider/provider.tf does not exist in this repo. The
  provider landing page (templates/index.md.tmpl) embeds
  examples/example_*.tf from the root of examples/ instead.
- The flat 'no required_providers / no provider block in tfplugindocs
  snippets' rule contradicts the landing-page snippets, which
  intentionally include both because the landing page is the first
  thing users see.

docs.instructions.md
- Updated the 'Example HCL under examples/' list in 'How Doc
  Generation Works' to reflect the real layout: example_*.tf at the
  root for the landing page (with required_providers + provider),
  and per-resource / per-data-source snippets under
  examples/resources/<name>/ and examples/data-sources/<name>/
  without those blocks.

examples.instructions.md
- Same correction in 'Two Kinds of Examples'.
- Provider Configuration bullet now scopes the 'no
  required_providers / no provider block' rule to per-resource and
  per-data-source snippets, with an explicit carve-out for the
  examples/example_*.tf landing-page snippets.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Clarify schema-and-state vs tests overlap on _test.go files

CCR pointed out that schema-and-state.instructions.md applies to
'github/**/*.go', which also matches '_test.go' files, creating an
overlap with tests.instructions.md.

Minimatch does not support negation globs without an explicit
'negate: true' option (the '!' prefix is ignored by default), so I
can't reliably narrow the applyTo to exclude '_test.go'. Instead I
spell out the precedence in the file itself: on test files,
tests.instructions.md is authoritative and the schema / CRUD /
API-safety bullets here are background, to be flagged only when the
test actually touches that code (e.g., hand-rolled pagination in an
acceptance test).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Align examples instructions with maintainers' preferred convention

- Update provider snippets path to examples/provider/**/*.tf to match
  the rename in integrations#3196, and call out that examples/provider/provider*.tf
  files can be automated via the .Examples templating capability.
- Document the default single-file convention: resource*.tf for
  per-resource snippets and data-source*.tf for per-data-source
  snippets, with any extra context in a top-of-file comment.
- Note that the example*.tf pattern is only appropriate when the docs
  template explicitly calls for it.

Addresses review feedback from @stevehipwell on PR integrations#3425.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Cover both current and post-integrations#3196 provider example paths

CCR flagged that the previous revision pointed only at the
examples/provider/**/*.tf layout, which doesn't exist yet (it lands
with integrations#3196). This documents both the current examples/example_*.tf
layout and the post-integrations#3196 examples/provider/**/*.tf layout so the
instructions stay accurate during the transition.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Drop integrations#3196 references now that the new examples layout has landed

integrations#3196 has merged, so the examples layout it introduced (examples/provider/**)
is the current layout. Collapse the "current vs. post-integrations#3196" wording in the
examples instructions into a single description of the live layout.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update .github/instructions/docs.instructions.md

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.