The release process uses GitHub Actions and goreleaser
to build, sign, and upload provider binaries to a GitHub release.
The release flow is as follows:
- Navigate to the repository's Releases page and click "Draft a new release".
- Create a new tag that makes sense with the project's semantic versioning.
- Before releasing a major version, check the following:
- Read this doc for Hashicorp's major release guidance.
- Ensure there hasn't been a major release in the past year.
- Check all major-release-tagged PRs and add them to the release branch as appropriate.
- Ensure all applicable schema changes include schema migration functions so consumers' state is not disrupted.
- Before releasing a major version, check the following:
- Auto-generate the release notes.
- Click "Publish release".
- GitHub Actions will trigger the release workflow which can be viewed here. After the workflow executes successfully, the GitHub release created in the prior step will have the relevant assets available for consumption.
- The new release will show up in https://registry.terraform.io/providers/integrations/github/latest for consumption by Terraform users.
- For terraform
0.12.X
users, the new release is available for consumption once it is present in https://releases.hashicorp.com/terraform-provider-github/.