Merge pull request #25234 from hashicorp/alisdair/remove-building-md
Remove BUILDING.md docs
This commit is contained in:
commit
5bc721bf03
65
BUILDING.md
65
BUILDING.md
|
@ -1,65 +0,0 @@
|
|||
# Building Terraform
|
||||
|
||||
This document contains details about the process for building release-style
|
||||
binaries for Terraform.
|
||||
|
||||
(If you are intending instead to make changes to Terraform and build binaries
|
||||
only for your local testing, see
|
||||
[the contributing guide](.github/CONTRIBUTING.md).)
|
||||
|
||||
## Versioning
|
||||
|
||||
Until Terraform v1.0, Terraform's versioning scheme is as follows:
|
||||
|
||||
* Full version strings start with a zero in the initial position.
|
||||
* The second position increments for _major_ releases, which may contain
|
||||
backwards incompatible changes.
|
||||
* The third and final position increments for _minor_ releases, which
|
||||
we aim to keep backwards compatible with prior releases for the same major
|
||||
version.
|
||||
|
||||
Although the Terraform team takes care to preserve compatibility between
|
||||
major releases, major release upgrades will often require a subset of users
|
||||
to take specific upgrade actions. This issue will persist while the product
|
||||
design is refined in preparation for more specific backward-compatibility promises
|
||||
in a later Terraform 1.0 release.
|
||||
|
||||
## Process
|
||||
|
||||
Terraform release binaries are built via cross-compilation on a Linux
|
||||
system, using [gox](https://github.com/mitchellh/gox).
|
||||
|
||||
The steps below are a subset of the steps HashiCorp uses to prepare the
|
||||
official distribution packages available from
|
||||
[the download page](https://www.terraform.io/downloads.html). This
|
||||
process will generate an executable for each of the supported target platforms.
|
||||
|
||||
HashiCorp prepares release binaries on Linux amd64 systems. This build process
|
||||
may need to be adjusted for other host platforms.
|
||||
|
||||
```sh
|
||||
# clone the repository if needed
|
||||
git clone https://github.com/hashicorp/terraform.git
|
||||
cd terraform
|
||||
|
||||
# Verify that the unit tests are passing
|
||||
make test
|
||||
|
||||
# Run preparation steps and then build the executable for each target platform
|
||||
# in the subdirectory "pkg".
|
||||
# This generates binaries for each platform and places them in the pkg folder
|
||||
make bin
|
||||
```
|
||||
|
||||
Official releases are subsequently then packaged, hashed, and signed before
|
||||
uploading to [the HashiCorp releases service](https://releases.hashicorp.com/terraform/).
|
||||
Those final packaging steps are not fully reproducible using the contents
|
||||
of this repository due to the use of HashiCorp's private signing key. However,
|
||||
you can place the generated executables in `.zip` archives to produce a
|
||||
similar result without the checksums and digital signature.
|
||||
|
||||
## Release Bundles for use in Terraform Enterprise
|
||||
|
||||
If you wish to build distribution archives that blend official Terraform
|
||||
release executables with a mixture of official and third-party provider builds,
|
||||
see [the `terraform-bundle` tool](tools/terraform-bundle).
|
Loading…
Reference in New Issue