mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-09 15:43:53 -06:00
4a65d83741
* update Vagrantfile to modern Consul-style version * add `make release` for a one-shot command to get from fresh vagrant machine to a built release * add RELEASING.md to document details about the release process
1.7 KiB
1.7 KiB
Releasing Terraform
This document contains details about the Terraform release process.
Schedule
Terraform currently has no fixed release schedule, the HashiCorp maintainers can usually give a feel for roughly when the next release is planned.
Versioning
As a pre-1.0 project, we use the MINOR and PATCH versions as follows:
- a
MINOR
version increment indicates a release that may contain backwards incompatible changes - a
PATCH
version increment indicates a release that may contain bugfixes as well as additive (backwards compatible) features and enhancements
Process
For maintainer documentation purposes, here is the current release process:
# Verify tests pass
make test
# Prep release commit
export VERSION="vX.Y.Z"
# Edit CHANGELOG, adding current date to unreleased version header
# Edit version.go, setting VersionPrelease to empty string
# Snapshot dependency information
godep save
mv Godeps/Godeps.json deps/$(echo $VERSION | sed 's/\./-/g').json
rm -rf Godeps
# Make and tag release commit
git commit -a -m "${VERSION}"
git tag -m "${VERSION}" "${VERSION}"
# Build release in Vagrant machine
vagrant destroy -f; vagrant up # Build a fresh VM for a clean build
vagrant ssh
cd /opt/gopath/src/github.com/hashicorp/terraform/
make release
# Zip and push release to bintray
export BINTRAY_API_KEY="..."
./scripts/dist "X.Y.Z" # no `v` prefix here
# -- "Point of no return" --
# -- Process can be aborted safely at any point before this --
# Push the release commit and tag
git push origin master
git push origin vX.Y.Z
# Click "publish" on the release from the Bintray Web UI
# -- Release is complete! --
# Make a follow-on commit to master restoring VersionPrerelease to "dev" and
setting up a new CHANGELOG section.