Commit Graph

127 Commits

Author SHA1 Message Date
Pam Selle 34de1453ce (build) temporarily disable codecov while debugging travis 2020-03-25 15:37:38 -04:00
Martin Atkins 43c1ec69e2 build: Use Go 1.14
This implies some notable changes that will have a visible impact to
end-users of official Terraform releases:

- Terraform is no longer compatible with MacOS 10.10 Yosemite, and
  requires at least 10.11 El Capitan. (Relatedly, Go 1.14 is planned to be
  the last release to support El Capitan, so while that remains supported
  for now, it's notable that Terraform 0.13 is likely to be the last major
  release of Terraform supporting it, with 0.14 likely to further require
  MacOS 10.12 Sierra.)

- Terraform is no longer compatible with FreeBSD 10.x, which has reached
  end-of-life. Terraform now requires FreeBSD 11.2 or later.

- Terraform now supports TLS 1.3 when it makes connections to remote
  services such as backends and module registries. Although TLS 1.3 is
  backward-compatible in principle, some legacy systems reportedly work
  incorrectly when attempting to negotiate it. (This change does not
  affect outgoing requests made by provider plugins, though they will see
  a similar change in behavior once built with Go 1.13 or later.)

- Ed25519 certificates are now supported for TLS 1.2 and 1.3 connections.

- On UNIX systems where "use-vc" is set in resolv.conf, TCP will now be
  used for DNS resolution. This is unlikely to cause issues in practice
  because a system set up in this way can presumably already reach its
  nameservers over TCP (or else other applications would misbehave), but
  could potentially lead to lookup failures in unusual situations where a
  system only runs Terraform, has historically had "use-vc" in its
  configuration, but yet is blocked from reaching its configured
  nameservers over TCP.

- Some parts of Terraform now support Unicode 12.0 when working with
  strings. However, notably the Terraform Language itself continues to
  use the text segmentation tables from Unicode 9.0, which means it lacks
  up-to-date support for recognizing modern emoji combining forms as
  single characters. (We may wish to upgrade the text segmentation tables
  to Unicode 12.0 tables in a later commit, to restore consistency.)

This also includes some changes to the contents of "vendor", and
particularly to the format of vendor/modules.txt, per the changes to
vendoring in the Go 1.14 toolchain. This new syntax is activated by the
specification of "go 1.14" in the go.mod file.

Finally, the exact format of error messages from the net/http library has
changed since Go 1.12, and so a couple of our tests needed updates to
their expected error messages to match that.
2020-03-04 13:26:50 -08:00
Pam Selle 9ae266f8fe Coverage updates, roll back makefile change, use travis specific script 2020-03-03 14:10:17 -05:00
Pam Selle 809d34e5b2 Add codecov 2020-03-03 12:19:07 -05:00
Pam Selle 2b2ff24404 Add 0.12 branch to travis list 2020-03-03 12:16:14 -05:00
Martin Atkins 2de4a28860 Build with Go 1.12.13
This is the latest 1.12 minor release at the time of writing. We are not
yet upgrading to Go 1.13 because it ends support for MacOS 10.10 and
earlier (Yosemite) and for versions of FreeBSD prior to 11.2, and so we
need to make that switch with care to properly phase those out as
supported platforms in Terraform too.
2019-11-06 07:02:54 -08:00
Martin Atkins 93583936e1 build: Use the official Go module proxy for Travis-CI runs (#22711)
This gets us slightly faster test runtimes and also insulates us better
from downtime of individual upstreams, in favor of being dependent only
on one specific upstream (the Go module proxy itself, currently run by
Google).
2019-09-06 15:45:31 -04:00
Martin Atkins 39b6a322e6 build: Use Go 1.12.9
This is a minor release of Go that does not include any changes that
affect Terraform's behavior.

This does include a fix for golang/go#31084 that could potentially affect
HCL arithmetic (via math/big) on aarch64, but we do not currently build
Terraform for aarch64 so it cannot have affected any previous releases.
2019-08-16 16:29:43 -07:00
Martin Atkins f6c6a88fe8 build: Use Go 1.12.8
This this includes some security fixes that don't impact Terraform along
with a number of general improvements and fixes in the Go toolchain that
don't appear to affect Terraform behavior.

- URL parsing (such as in the "source" argument in a "module" block) now
  validates more strictly the port portion, rejecting non-numeric ports.
  Previously this could potentially lead to parts of the URL being
  silently ignored.

- The temporary callback server for the forthcoming OAuth client
  implementation in "terraform login" would otherwise have been vulnerable
  to local (on the same host) denial of service attacks, which is not
  a common attack vector but good to fix anyway.
2019-08-16 16:29:43 -07:00
Radek Simko 2aa5394092
travis: Bump go to 1.12.4 2019-05-13 15:55:43 +01:00
James Bardin b5b1e94f3a bump go version to 1.12.1 2019-03-14 17:28:16 -04:00
Martin Atkins 1a8ddc26a5 Switch to Go 1.11.5
An earlier commit incorrectly updated some versions in go.mod without also
updating the vendor tree, so this also rolls those back to where they used
to be so that we can roll them forward carefully and make sure the tests
actually pass. (If we just accept these new versions as specified the
tests do not pass, so some work is required to fix those regressions.)
2019-01-30 17:16:12 -08:00
Radek Simko e0d89bdc47
travis: Verify unmodified dependencies 2019-01-29 14:44:30 +00:00
Alex Pilon de769533e1
require go1.11.4 2019-01-15 14:26:21 -05:00
Sander van Harmelen a67d48c225 Add the v0.11 branch to Travis so we can test builds 2018-12-14 21:29:18 +01:00
Martin Atkins 413959406a build: Use Go 1.11.3 in Travis-CI and in environments using "goenv" 2018-12-13 17:30:48 -08:00
James Bardin 69f6277311 remove vendor-status 2018-12-10 17:30:11 -05:00
Martin Atkins 67041486c5
build: Travis-CI build should use vendor directory when building for Windows 2018-11-20 11:59:48 -08:00
Martin Atkins 1ff9a54020 build: Temporarily disable the website tests for Travis-CI
There are some known broken links right now because this repository has
been updated ahead of some necessary changes in the terraform-website
repository. We'll need to wait until the end of the v0.12 release process
to re-enable this because the terraform-website repository is currently
set up for the v0.11 content and will continue to be until v0.12.0 final
is ready for release.
2018-11-19 09:02:35 -08:00
Martin Atkins c133de863b build: Update most things for Go 1.11 modules
We're still using vendoring for now until we get _all_ of our tooling
updated, so the main idea here is to force use of the vendor directory
when running tests and building for development so we can quickly find
situations where we forget to run "go mod vendor".

We also setting GO111MODULE=off for installation of tools. Right now this
is the best way to install a tool in GOBIN without also interfering with
go.mod and go.sum, until a better pattern for managing tool dependencies
is devised by the Go team.

Finally, we run "go mod download" before launching "gox" in the main
build process, to prime the local module cache once so that the concurrent
"go build" processes won't race to populate it redundantly. This means
that we'll be producing final builds from the module cache rather than
from vendor as with everything else -- there's currently no way to tell
gox to use -mod=vendor -- but that should be fine in practice since
our go.sum file will ensure that we get the exact sources we expect in
the module cache before building.
2018-11-19 09:02:35 -08:00
Martin Atkins ec57927ea3 build: Take protoc out of the "go generate" path
Since protoc is not go-gettable, and most development tasks in Terraform
won't involve recompiling protoc files anyway, we'll use a separate
mechanism for these.

This way "go generate" only depends on things we can "go get" in the
"make tools" target.

In a later commit we should also in some way specify a particular version
of protoc to use so that we don't get "flapping" regenerations as
developers work with different versions, but the priority here is just to
make "make generate" minimally usable again to restore the dev workflow
documented in the README.

This also includes some updates that resulted from running "make generate"
and "make protobuf" after those Makefile changes were in place.
2018-10-18 10:39:20 -07:00
Sean Chittenden 561e973b4e
Bump travis to 1.11 2018-09-09 10:40:20 -07:00
Radek Simko c4ffdb1f57
make: Add website + website-test targets 2018-05-02 12:44:17 +01:00
James Bardin 967a688f22 update travis to go1.10.1 2018-04-05 15:09:09 -04:00
James Bardin d4415bdd7d try travis go version as string 2018-02-21 11:37:06 -05:00
James Bardin 3bc1dcf21a update travis to build with go1.10
Remove the vet target too, since vet is now always run with every test.
2018-02-21 11:27:46 -05:00
James Bardin e24acc617c force git to use https 2017-10-30 15:27:58 -04:00
Martin Atkins 7916268d7f build: use Go 1.9.1 within Travis-CI unit test runs 2017-10-06 16:20:19 -07:00
James Bardin 91442b7146 Merge pull request #15680 from brunomcustodio/etcdv3-backend
[WIP] etcd v3 backend with lock support.
2017-10-03 14:15:58 -04:00
Martin Atkins f45aae9b70 build: run end-to-end tests during Travis run
We don't usually run "acceptance tests" during a Travis run, but this
particular suite doesn't require any special credentials since it just
accesses releases.hashicorp.com to download plugins, so therefore it's
safe to run in Travis at the expense of adding a few more seconds to
the runtime.

Running it in Travis can therefore give us some extra confidence for
pull requests that may inadvertently break certain details of the
workflow, as well as ensuring that these tests are kept up-to-date as
the system changes.
2017-09-28 14:35:51 -07:00
Bruno Miguel Custodio 4d23195846
Add a note about running the 'etcdv3' tests. 2017-09-09 08:17:56 +01:00
Martin Atkins 62d154b9f9 Start building with Terraform 1.9
This improves the testing and other tooling and thus allows us to fix
some annoyances. (These fixes will follow in subsequent commits)
2017-08-28 09:59:30 -07:00
Christoph Blecker 29b77cabec
Update travis to go1.8.3 and add testing for go1.9rc1 2017-08-02 12:56:21 -07:00
Jake Champlin 3d396e108a
fix travis for unit tests 2017-07-13 13:19:24 -04:00
Annie Hedgpeth 7ac8837cc0 provider/azurerm: Add example of Spark and Cassrandra on CentOS (#15123)
* initial commit - 101-vm-from-user-image

* changed branch name

* not deploying - storage problems

* provisions vm but image not properly prepared

* storage not correct

* provisions properly

* changed main.tf to azuredeploy.tf

* added tfvars and info for README

* tfvars ignored and corrected file ext

* added CI config; added sane defaults for variables; updated deployment script, added mac specific deployment for local testing

* deploy.sh to be executable

* executable deploy files

* added CI files; changed vars

* prep for PR

* removal of old folder

* prep for PR

* wrong args for travis

* more PR prep

* updated README

* commented out variables in terraform.tfvars

* Topic 101 vm from user image (#2)

* initial commit - 101-vm-from-user-image
* added tfvars and info for README
* added CI config; added sane defaults for variables; updated deployment script, added mac specific deployment for local testing
* prep for PR

* added new template

* oops, left off master

* prep for PR

* correct repository for destination

* renamed scripts to be more intuitive; added check for docker

* merge vm simple; vm from image

* initial commit

* deploys locally

* updated deploy

* consolidated deploy and after_deploy into a single script; simplified ci process; added os_profile_linux_config

* added terraform show

* changed to allow http & https (like ARM tmplt)

* changed host_name & host_name variable desc

* added az cli check

* on this branch, only build test_dir; master will aggregate all the examples

* merge master

* added new constructs/naming for deploy scripts, etc.

* suppress az login output

* suppress az login output

* forgot about line breaks

* breaking build as an example

* fixing broken build example

* merge of CI config

* fixed grammar in readme

* prep for PR

* took out armviz button and minor README changes

* changed host_name

* fixed merge conflicts

* changed host_name variable

* updating Hashicorp's changes to merged simple linux branch

* updating files to merge w/master and prep for Hashicorp pr

* Revert "updating files to merge w/master and prep for Hashicorp pr"

This reverts commit b850cd5d2a858eff073fc5a1097a6813d0f8b362.

* Revert "updating Hashicorp's changes to merged simple linux branch"

This reverts commit dbaf8d14a9cdfcef0281919671357f6171ebd4e6.

* removing vm from user image example from this branch

* removed old branch

* azure-2-vms-loadbalancer-lbrules (#13)

* initial commit

* need to change lb_rule & nic

* deploys locally

* updated README

* updated travis and deploy scripts for Hari's repo

* renamed deploy script

* clean up

* prep for PR

* updated readme

* fixing conflict in .travis.yml

* initial commit; in progress

* in progress

* in progress; encryption fails

* in progress

* deploys successfully locally

* clean up; deploy typo fixed

* merging hashi master into this branch

* troubleshooting deploy

* added missing vars to deploy script

* updated README, outputs, and added graph

* simplified outputs

* provisions locally

* cleaned up vars

* fixed chart on README

* prepping for pr

* fixed merge conflict

* switching to Hashicorp's .travis.yml

* edited comments

* removed graph

* reverting travis.yml to original

added return line at 45
2017-06-08 19:38:34 +03:00
Jake Champlin 76e99dcff4
update travis to catch vet failures 2017-05-19 09:12:56 -04:00
Paul Stack 0837a763f3 Bump travis builds to go 1.8.1 (#14549) 2017-05-16 20:05:23 +03:00
Annie Hedgpeth 8e7f3cc09d provider/azurerm: Add example of a VNET w/ Two Subnets (#14115)
* merge master

* added new constructs/naming for deploy scripts, etc.

* suppress az login output

* removed .tfvars and provider.tf; updated prev merge

* reverted .travis.yml back to Hashicorp's

* Reverting back to the Hashicorp travis file
2017-05-04 10:57:54 +01:00
anniehedgpeth 93164799e7 .travis.yml reverted back to hashicorp's master .travis.yml 2017-05-02 14:33:52 -05:00
Scott Nowicki 291305bddb run CI on branch prior to merge 2017-04-27 19:47:01 -05:00
Scott Nowicki 001acd666c merge upstream 2017-04-27 18:11:47 -05:00
Scott Nowicki 121a60192f Enabled CI runs for master
This should enable CI on PRs for examples (until an example PR is merged)
2017-04-27 18:00:43 -05:00
Scott Nowicki 77775462ff consolidated deploy and after_deploy into a single script; simplified ci process; added os_profile_linux_config 2017-04-27 12:16:00 -05:00
Scott Nowicki 64b52ee25f merge upstream 2017-04-27 11:44:57 -05:00
Scott Nowicki 829b69625b early prep for CI of examples (#7)
* early prep for CI of examples
* added note to prevent moving upstream
2017-04-27 11:40:53 -05:00
Scott Nowicki 56f6aa16c4 renamed scripts to be more intuitive; added check for docker 2017-04-26 21:53:25 -05:00
Scott Nowicki f635bbd031 updated build dir 2017-04-26 20:48:45 -05:00
Scott Nowicki 3a77aafe49 merge upstream 2017-04-24 19:40:17 -05:00
Scott Nowicki 2362bd7e8f merge upstream 2017-04-24 15:02:59 -05:00
Scott Nowicki afb164b79a Topic 101 vm simple linux (#1)
* added .travis.yml and deploy.sh
* added deploy script, updated travis.yml to build topic- branches
* generate random string for hostname
* plan now produces output plan, apply now consumes outputted plan
* cleanup; sane defaults
* explicit build dirs
2017-04-24 14:57:28 -05:00