Skip to content
This repository was archived by the owner on Apr 15, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/ISSUE_TEMPLATE/backlog-item.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Backlog Item
description: Add a new item to the Product Backlog
title: "[BACKLOG] "
labels: []
body:
- type: markdown
attributes:
value: "## New Backlog Item"
- type: textarea
id: description
attributes:
label: Description
description: What needs to be done and why?
placeholder: "As a user, I want to... so that..."
validations:
required: true
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance Criteria
description: Conditions that must be true for this to be Done
placeholder: |
- [ ] Criterion 1
- [ ] Criterion 2
validations:
required: true
- type: dropdown
id: type
attributes:
label: Type
options:
- feature
- bug
- chore
- spike
- docs
validations:
required: true
- type: dropdown
id: priority
attributes:
label: Priority
options:
- critical
- high
- medium
- low
validations:
required: true
- type: dropdown
id: size
attributes:
label: Estimated Size
options:
- "xs (< 1 hour)"
- "s (1-4 hours)"
- "m (4-8 hours)"
- "l (1-2 days)"
- "xl (> 2 days — consider splitting)"
validations:
required: true
- type: textarea
id: notes
attributes:
label: Technical Notes
description: Dependencies, constraints, implementation ideas
placeholder: "Depends on #... / Blocked by... / Consider using..."
validations:
required: false
53 changes: 53 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name-template: "v$RESOLVED_VERSION"
tag-template: "v$RESOLVED_VERSION"
template: |
## What's Changed

$CHANGES

**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
categories:
- title: "🚀 Features"
labels:
- "type:feature"
- title: "🐛 Bug Fixes"
labels:
- "type:bug"
- title: "🧰 Maintenance"
labels:
- "type:chore"
- "tech-debt"
- title: "📝 Documentation"
labels:
- "type:docs"
- title: "🔬 Spikes & Research"
labels:
- "type:spike"
change-template: "- $TITLE (#$NUMBER) @$AUTHOR"
change-title-escapes: '\<*_&'
autolabeler:
- label: "type:feature"
title:
- '/^feat(\(.+\))?!?:/i'
- label: "type:bug"
title:
- '/^fix(\(.+\))?!?:/i'
- label: "type:docs"
title:
- '/^docs(\(.+\))?!?:/i'
- label: "type:chore"
title:
- '/^(chore|refactor|test|build|ci|perf|style)(\(.+\))?!?:/i'
- label: "type:spike"
title:
- '/^spike(\(.+\))?!?:/i'
version-resolver:
patch:
labels:
- "breaking"
- "type:feature"
- "type:bug"
- "type:chore"
- "type:docs"
- "type:spike"
default: patch
2 changes: 2 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ on:
push:
branches:
- main
- master
- release-v*
pull_request:
branches:
- main
- master
- release-v*

concurrency:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/dotcom-acceptance-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
# push:
# branches:
# - main
# - master
# - release-v*
pull_request:
types:
Expand All @@ -14,6 +15,7 @@ on:
- labeled
branches:
- main
- master
- release-v*

concurrency:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ghes-acceptance-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
# - labeled
# branches:
# - main
# - master
# - release-v*

concurrency:
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Release Drafter

on:
push:
branches: [main, master]

permissions:
contents: write
pull-requests: write

jobs:
update-release-draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v7
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,8 @@ terraform-provider-github
.env
*_rsa
*_rsa.pub

# local agent instructions
AGENTS.md
.agents/
skills-lock.json
3 changes: 3 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ linters:
- linters:
- staticcheck
text: "SA1019.*ByID.*deprecated"
- linters:
- modernize
text: "newexpr"

issues:
max-issues-per-linter: 0
Expand Down
6 changes: 3 additions & 3 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Visit https://goreleaser.com for documentation on how to customize this
# behavior.
# GoReleaser configuration for vmvarela/github (Terraform Registry + OpenTofu Registry).
# Published under the namespace vmvarela/github using CalVer (vYY.MM.N).
# See RELEASE.md for the full release process.
version: 2

env:
- COSIGN_YES=true

before:
hooks:
# this is just an example and not a requirement for provider building/publishing
- go mod tidy

builds:
Expand Down
39 changes: 32 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,54 @@
# Terraform Provider GitHub
=========================

<img src="https://cloud.githubusercontent.com/assets/98681/24211275/c4ebd04e-0ee8-11e7-8606-061d656a42df.png" width="72" height="">

<img src="https://raw.githubusercontent.com/hashicorp/terraform-website/d841a1e5fca574416b5ca24306f85a0f4f41b36d/content/source/assets/images/logo-terraform-main.svg" width="300px">

This project is used to manipulate GitHub resources (repositories, teams, files, etc.) using Terraform. Its Terraform Registry page can be found [here](https://registry.terraform.io/providers/integrations/github/).
This is a fork of the [official Terraform GitHub provider](https://github.com/integrations/terraform-provider-github) maintained by [@vmvarela](https://github.com/vmvarela), published under `vmvarela/github` with additional enterprise features pending upstream merge.

- **Terraform Registry**: [registry.terraform.io/providers/vmvarela/github](https://registry.terraform.io/providers/vmvarela/github)
- **OpenTofu Registry**: [search.opentofu.org/provider/vmvarela/github](https://search.opentofu.org/provider/vmvarela/github)
- **Upstream**: [integrations/terraform-provider-github](https://github.com/integrations/terraform-provider-github)

## Requirements

- [Terraform](https://www.terraform.io/downloads.html) 1.x
- [Terraform](https://www.terraform.io/downloads.html) 1.x or [OpenTofu](https://opentofu.org/docs/intro/install/) 1.x
- [Go](https://golang.org/doc/install) 1.26.x (to build the provider plugin)

## Usage

Detailed documentation for the GitHub provider can be found [here](https://registry.terraform.io/providers/integrations/github).
```hcl
terraform {
required_providers {
github = {
source = "vmvarela/github"
version = "~> 26.0"
}
}
}
```

Full provider documentation is available on the [Terraform Registry](https://registry.terraform.io/providers/vmvarela/github/latest/docs).

## Additional Features (vs upstream)

This fork includes the following features that are open PRs against upstream:

- **Enterprise Billing Usage** — `github_enterprise_billing_usage` data source
- **Enterprise Cost Centers** — `github_enterprise_cost_center` resource and data sources
- **Enterprise SCIM** — `github_enterprise_scim_*` resources for user and group provisioning
- **Enterprise Teams** — enhanced enterprise team management resources

## Contributing

Detailed documentation for contributing to the GitHub provider can be found [here](CONTRIBUTING.md).
Detailed documentation for contributing to this provider can be found in [CONTRIBUTING.md](CONTRIBUTING.md).

For release and publishing instructions, see [RELEASE.md](RELEASE.md).

## Roadmap

This project uses [Milestones](https://github.com/integrations/terraform-provider-github/milestones) to scope upcoming features and bug fixes. Issues that receive the most recent discussion or the most reactions will be more likely to be included in an upcoming release.
This project uses [Milestones](https://github.com/vmvarela/terraform-provider-github/milestones) to track upcoming features and fixes.

## Support

GitHub Support does not provide support for this integration. This is a community-supported project. GitHub's SDK team triages issues and PRs periodically.
This is a community-maintained fork. For issues specific to the additional enterprise features, open an issue in this repository. For upstream provider issues, refer to the [integrations/terraform-provider-github](https://github.com/integrations/terraform-provider-github) project.
Loading