Skip to content

Commit

Permalink
Merge branch 'master' into 9948-aws_alb_target_group_attachment-multi…
Browse files Browse the repository at this point in the history
…ple-target-ids

* master: (4237 commits)
  website: don't use regexp for sidebar_current in ovh.erb
  website: correct formatting of gitlab doc preambles
  website: when building, run middleman in verbose mode
  website: don't use regex for sidebar_current, in github.erb
  website: fix regex
  release: clean up after v0.9.6
  v0.9.6
  add mutexes to Local, Backup, and InmemState
  add mutexes to remote.State
  call PersistState immediately when cancelling
  have StateHook periodically PersistState
  provider/opc: update opc provider vendor
  Fix typo (tesr -> test) (hashicorp#14825)
  Update CHANGELOG.md
  Update CHANGELOG.md
  provider/openstack: Enable Security Group Updates (hashicorp#14815)
  Fix gitlab documentation (hashicorp#14803)
  Doc fixes for managed disks in VMs (hashicorp#14811)
  Update news section with Google Cloud webinar post-event info (hashicorp#14816)
  provider/openstack: Updating DNS docs
  ...

# Conflicts:
#	builtin/providers/aws/resource_aws_alb_target_group_attachment.go
  • Loading branch information
Simon Fredsted committed May 26, 2017
2 parents e6a0120 + 1d58576 commit 2addc06
Show file tree
Hide file tree
Showing 7,801 changed files with 1,586,907 additions and 145,122 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
21 changes: 15 additions & 6 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,22 +37,23 @@ The current list of HashiCorp Providers is as follows:
* `aws`
* `azurerm`
* `google`
* `opc`

Our testing standards are the same for both HashiCorp and Community providers,
and HashiCorp runs full acceptance test suites for every provider nightly to
ensure Terraform remains stable.

We make the distinction between these two types of providers to help
highlight the vast amounts of community effort that goes in to making Terraform
great, and to help contributers better understand the role HashiCorp employees
great, and to help contributors better understand the role HashiCorp employees
play in the various areas of the code base.

## Issues

### Issue Reporting Checklists

We welcome issues of all kinds including feature requests, bug reports, and
general questions. Below you'll find checklists with guidlines for well-formed
general questions. Below you'll find checklists with guidelines for well-formed
issues of each type.

#### Bug Reports
Expand Down Expand Up @@ -201,6 +202,9 @@ Implementing a new resource is a good way to learn more about how Terraform
interacts with upstream APIs. There are plenty of examples to draw from in the
existing resources, but you still get to implement something completely new.

- [ ] __Minimal LOC__: It can be inefficient for both the reviewer
and author to go through long feedback cycles on a big PR with many
resources. We therefore encourage you to only submit **1 resource at a time**.
- [ ] __Acceptance tests__: New resources should include acceptance tests
covering their behavior. See [Writing Acceptance
Tests](#writing-acceptance-tests) below for a detailed guide on how to
Expand All @@ -220,9 +224,14 @@ existing resources, but you still get to implement something completely new.
#### New Provider

Implementing a new provider gives Terraform the ability to manage resources in
a whole new API. It's a larger undertaking, but brings major new functionaliy
a whole new API. It's a larger undertaking, but brings major new functionality
into Terraform.

- [ ] __Minimal initial LOC__: Some providers may be big and it can be
inefficient for both reviewer & author to go through long feedback cycles
on a big PR with many resources. We encourage you to only submit
the necessary minimum in a single PR, ideally **just the first resource**
of the provider.
- [ ] __Acceptance tests__: Each provider should include an acceptance test
suite with tests for each resource should include acceptance tests covering
its behavior. See [Writing Acceptance Tests](#writing-acceptance-tests) below
Expand Down Expand Up @@ -368,12 +377,12 @@ point to the framework is the `resource.Test()` function.
Tests are divided into `TestStep`s. Each `TestStep` proceeds by applying some
Terraform configuration using the provider under test, and then verifying that
results are as expected by making assertions using the provider API. It is
common for a single test function to excercise both the creation of and updates
common for a single test function to exercise both the creation of and updates
to a single resource. Most tests follow a similar structure.

1. Pre-flight checks are made to ensure that sufficient provider configuration
is available to be able to proceed - for example in an acceptance test
targetting AWS, `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` must be set prior
targeting AWS, `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` must be set prior
to running acceptance tests. This is common to all tests exercising a single
provider.

Expand Down Expand Up @@ -462,7 +471,7 @@ When executing the test, the following steps are taken for each `TestStep`:
the resource - though in this case it is necessary to split the ID into
constituent parts in order to use the provider API. For computed properties,
we instead assert that the value saved in the Terraform state was the
expected value if possible. The testing framework providers helper functions
expected value if possible. The testing framework provides helper functions
for several common types of check - for example:
```go
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,7 @@ website/node_modules
*.iml

website/vendor

# Test exclusions
!command/test-fixtures/**/*.tfstate
!command/test-fixtures/**/.terraform/
24 changes: 21 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,34 @@
dist: trusty
sudo: false
language: go
go:
- 1.7.3
- 1.8.1

# add TF_CONSUL_TEST=1 to run consul tests
# they were causing timouts in travis
env:
- CONSUL_VERSION=0.7.5 GOMAXPROCS=4

# Fetch consul for the backend and provider tests
before_install:
- curl -sLo consul.zip https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip
- unzip consul.zip
- mkdir ~/bin
- mv consul ~/bin
- export PATH="~/bin:$PATH"

install:
# This script is used by the Travis build to install a cookie for
# go.googlesource.com so rate limits are higher when using `go get` to fetch
# packages that live there.
# See: https://github.com/golang/go/issues/12933
- bash scripts/gogetcookie.sh
- go get github.com/kardianos/govendor
script:
- make test vet
- make test TEST=./terraform TESTARGS=-Xnew-apply
- make vendor-status
- make test
- make vet
- GOOS=windows go build
branches:
only:
- master
Expand Down
Loading

0 comments on commit 2addc06

Please sign in to comment.