diff --git a/go.mod b/go.mod index 612ea5f35..f0a464812 100644 --- a/go.mod +++ b/go.mod @@ -64,7 +64,7 @@ require ( github.com/hashicorp/go-retryablehttp v0.5.2 github.com/hashicorp/go-rootcerts v1.0.0 github.com/hashicorp/go-sockaddr v0.0.0-20180320115054-6d291a969b86 // indirect - github.com/hashicorp/go-tfe v0.3.25 + github.com/hashicorp/go-tfe v0.3.27 github.com/hashicorp/go-uuid v1.0.1 github.com/hashicorp/go-version v1.2.0 github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f diff --git a/go.sum b/go.sum index 1286dd9cb..eade89027 100644 --- a/go.sum +++ b/go.sum @@ -197,12 +197,12 @@ github.com/hashicorp/go-rootcerts v1.0.0 h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82k github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= -github.com/hashicorp/go-slug v0.4.0 h1:YSz3afoEZZJVVB46NITf0+opd2cHpaYJ1XSojOyP0x8= -github.com/hashicorp/go-slug v0.4.0/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8= +github.com/hashicorp/go-slug v0.4.1 h1:/jAo8dNuLgSImoLXaX7Od7QB4TfYCVPam+OpAt5bZqc= +github.com/hashicorp/go-slug v0.4.1/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8= github.com/hashicorp/go-sockaddr v0.0.0-20180320115054-6d291a969b86 h1:7YOlAIO2YWnJZkQp7B5eFykaIY7C9JndqAFQyVV5BhM= github.com/hashicorp/go-sockaddr v0.0.0-20180320115054-6d291a969b86/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-tfe v0.3.25 h1:4rPk/9rSYuRoujKk5FsxSvtC/AjJCQphLS/57yr6wUM= -github.com/hashicorp/go-tfe v0.3.25/go.mod h1:IJQ30WzRajD/W0Z8SY4lhuoOX8h5saTe95t80z8hRsk= +github.com/hashicorp/go-tfe v0.3.27 h1:7XZ/ZoPyYoeuNXaWWW0mJOq016y0qb7I4Q0P/cagyu8= +github.com/hashicorp/go-tfe v0.3.27/go.mod h1:DVPSW2ogH+M9W1/i50ASgMht8cHP7NxxK0nrY9aFikQ= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= diff --git a/vendor/github.com/hashicorp/go-slug/terraformignore.go b/vendor/github.com/hashicorp/go-slug/terraformignore.go index 864dc9285..ac7486934 100644 --- a/vendor/github.com/hashicorp/go-slug/terraformignore.go +++ b/vendor/github.com/hashicorp/go-slug/terraformignore.go @@ -196,15 +196,15 @@ func (r *rule) compile() error { var defaultExclusions = []rule{ { - val: "**/.git/**", + val: strings.Join([]string{"**", ".git", "**"}, string(os.PathSeparator)), excluded: false, }, { - val: "**/.terraform/**", + val: strings.Join([]string{"**", ".terraform", "**"}, string(os.PathSeparator)), excluded: false, }, { - val: "**/.terraform/modules/**", + val: strings.Join([]string{"**", ".terraform", "modules", "**"}, string(os.PathSeparator)), excluded: true, }, } diff --git a/vendor/github.com/hashicorp/go-tfe/README.md b/vendor/github.com/hashicorp/go-tfe/README.md index 83245e48c..3ebdb76b6 100644 --- a/vendor/github.com/hashicorp/go-tfe/README.md +++ b/vendor/github.com/hashicorp/go-tfe/README.md @@ -128,28 +128,109 @@ func main() { ## Running tests +### 1. (Optional) Create a policy sets repo + +If you are planning to run the full suite of tests or work on policy sets, you'll need to set up a policy set repository in GitHub. + +Your policy set repository will need the following: +1. A policy set stored in a subdirectory `policy-sets/foo` +1. A branch other than master named `policies` + +### 2. Set up environment variables + +##### Required: Tests are run against an actual backend so they require a valid backend address -and token. In addition it also needs a Github token for running the OAuth Client -tests: +and token. +1. `TFE_ADDRESS` - URL of a Terraform Cloud or Terraform Enterprise instance to be used for testing, including scheme. Example: `https://tfe.local` +1. `TFE_TOKEN` - A [user API token](https://www.terraform.io/docs/cloud/users-teams-organizations/users.html#api-tokens) for the Terraform Cloud or Terraform Enterprise instance being used for testing. +##### Optional: +1. `GITHUB_TOKEN` - [GitHub personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line). Required for running OAuth client tests. +1. `GITHUB_POLICY_SET_IDENTIFIER` - GitHub policy set repository identifier in the format `username/repository`. Required for running policy set tests. + +You can set your environment variables up however you prefer. The following are instructions for setting up environment variables using [envchain](https://github.com/sorah/envchain). + 1. Make sure you have envchain installed. [Instructions for this can be found in the envchain README](https://github.com/sorah/envchain#installation). + 1. Pick a namespace for storing your environment variables. I suggest `go-tfe` or something similar. + 1. For each environment variable you need to set, run the following command: + ```sh + envchain --set YOUR_NAMESPACE_HERE ENVIRONMENT_VARIABLE_HERE + ``` + **OR** + + Set all of the environment variables at once with the following command: + ```sh + envchain --set YOUR_NAMESPACE_HERE TFE_ADDRESS TFE_TOKEN GITHUB_TOKEN GITHUB_POLICY_SET_IDENTIFIER + ``` + +### 3. Make sure run queue settings are correct + +In order for the tests relating to queuing and capacity to pass, FRQ (fair run queuing) should be +enabled with a limit of 2 concurrent runs per organization on the Terraform Cloud or Terraform Enterprise instance you are using for testing. + +### 4. Run the tests + +#### Running all the tests +As running the all of the tests takes about ~20 minutes, make sure to add a timeout to your +command (as the default timeout is 10m). + +##### With envchain: ```sh -$ export TFE_ADDRESS=https://tfe.local -$ export TFE_TOKEN=xxxxxxxxxxxxxxxxxxx -$ export GITHUB_TOKEN=xxxxxxxxxxxxxxxx -$ export GITHUB_IDENTIFIER=xxxxxxxxxxx +$ envchain YOUR_NAMESPACE_HERE go test ./... -timeout=30m ``` -In order for the tests relating to queuing and capacity to pass, FRQ should be -enabled with a limit of 2 concurrent runs per organization. - -As running the tests takes about ~10 minutes, make sure to add a timeout to your -command (as the default timeout is 10m): - +##### Without envchain: ```sh -$ go test ./... -timeout=15m +$ go test ./... -timeout=30m ``` +#### Running specific tests + +The commands below use notification configurations as an example. + +##### With envchain: +```sh +$ envchain YOUR_NAMESPACE_HERE go test -run TestNotificationConfiguration -v ./... +``` + +##### Without envchain: +```sh +$ go test -run TestNotificationConfiguration -v ./... +``` ## Issues and Contributing If you find an issue with this package, please report an issue. If you'd like, we welcome any contributions. Fork this repository and submit a pull request. + +## Releases + +Documentation updates and test fixes that only touch test files don't require a release or tag. You can just merge these changes into master once they have been approved. + +### Creating a release +1. Merge your approved branch into master. +1. [Create a new release in GitHub](https://help.github.com/en/github/administering-a-repository/creating-releases). + - Click on "Releases" and then "Draft a new release" + - Set the `tag version` to a new tag, using [Semantic Versioning](https://semver.org/) as a guideline. + - Set the `target` as master. + - Set the `Release title` to the tag you created, `vX.Y.Z` + - Use the description section to describe why you're releasing and what changes you've made. You should include links to merged PRs + - Consider using the following headers in the description of your release: + - BREAKING CHANGES: Use this for any changes that aren't backwards compatible. Include details on how to handle these changes. + - FEATURES: Use this for any large new features added, + - ENHANCEMENTS: Use this for smaller new features added + - BUG FIXES: Use this for any bugs that were fixed. + - NOTES: Use this section if you need to include any additional notes on things like upgrading, upcoming deprecations, or any other information you might want to highlight. + + Markdown example: + + ```markdown + ENHANCEMENTS + * Add description of new small feature (#3)[link-to-pull-request] + + BUG FIXES + * Fix description of a bug (#2)[link-to-pull-request] + * Fix description of another bug (#1)[link-to-pull-request] + ``` + + - Don't attach any binaries. The zip and tar.gz assets are automatically created and attached after you publish your release. + - Click "Publish release" to save and publish your release. + \ No newline at end of file diff --git a/vendor/github.com/hashicorp/go-tfe/go.mod b/vendor/github.com/hashicorp/go-tfe/go.mod index 8bb29b1d9..31ad255a1 100644 --- a/vendor/github.com/hashicorp/go-tfe/go.mod +++ b/vendor/github.com/hashicorp/go-tfe/go.mod @@ -5,7 +5,7 @@ require ( github.com/google/go-querystring v1.0.0 github.com/hashicorp/go-cleanhttp v0.5.0 github.com/hashicorp/go-retryablehttp v0.5.2 - github.com/hashicorp/go-slug v0.4.0 + github.com/hashicorp/go-slug v0.4.1 github.com/hashicorp/go-uuid v1.0.1 github.com/stretchr/testify v1.3.0 github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d diff --git a/vendor/github.com/hashicorp/go-tfe/go.sum b/vendor/github.com/hashicorp/go-tfe/go.sum index c1e8ef94b..4c0ab53b1 100644 --- a/vendor/github.com/hashicorp/go-tfe/go.sum +++ b/vendor/github.com/hashicorp/go-tfe/go.sum @@ -10,6 +10,10 @@ github.com/hashicorp/go-retryablehttp v0.5.2 h1:AoISa4P4IsW0/m4T6St8Yw38gTl5GtBA github.com/hashicorp/go-retryablehttp v0.5.2/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-slug v0.4.0 h1:YSz3afoEZZJVVB46NITf0+opd2cHpaYJ1XSojOyP0x8= github.com/hashicorp/go-slug v0.4.0/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8= +github.com/hashicorp/go-slug v0.4.1-0.20191114211806-d9ee9eb3692a h1:EmBGX5Ja8JEKRHqTDG9+PYq0qL5qyOUmPZFQfH7VfXo= +github.com/hashicorp/go-slug v0.4.1-0.20191114211806-d9ee9eb3692a/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8= +github.com/hashicorp/go-slug v0.4.1 h1:/jAo8dNuLgSImoLXaX7Od7QB4TfYCVPam+OpAt5bZqc= +github.com/hashicorp/go-slug v0.4.1/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/vendor/github.com/hashicorp/go-tfe/oauth_client.go b/vendor/github.com/hashicorp/go-tfe/oauth_client.go index b0b16bfb2..35174441b 100644 --- a/vendor/github.com/hashicorp/go-tfe/oauth_client.go +++ b/vendor/github.com/hashicorp/go-tfe/oauth_client.go @@ -40,13 +40,18 @@ type ServiceProviderType string // List of available VCS types. const ( - ServiceProviderBitbucket ServiceProviderType = "bitbucket_hosted" + ServiceProviderAzureDevOpsServer ServiceProviderType = "ado_server" + ServiceProviderAzureDevOpsServices ServiceProviderType = "ado_services" + ServiceProviderBitbucket ServiceProviderType = "bitbucket_hosted" + // Bitbucket Server v5.4.0 and above ServiceProviderBitbucketServer ServiceProviderType = "bitbucket_server" - ServiceProviderGithub ServiceProviderType = "github" - ServiceProviderGithubEE ServiceProviderType = "github_enterprise" - ServiceProviderGitlab ServiceProviderType = "gitlab_hosted" - ServiceProviderGitlabCE ServiceProviderType = "gitlab_community_edition" - ServiceProviderGitlabEE ServiceProviderType = "gitlab_enterprise_edition" + // Bitbucket Server v5.3.0 and below + ServiceProviderBitbucketServerLegacy ServiceProviderType = "bitbucket_server_legacy" + ServiceProviderGithub ServiceProviderType = "github" + ServiceProviderGithubEE ServiceProviderType = "github_enterprise" + ServiceProviderGitlab ServiceProviderType = "gitlab_hosted" + ServiceProviderGitlabCE ServiceProviderType = "gitlab_community_edition" + ServiceProviderGitlabEE ServiceProviderType = "gitlab_enterprise_edition" ) // OAuthClientList represents a list of OAuth clients. diff --git a/vendor/modules.txt b/vendor/modules.txt index 3b0b83772..92d451b92 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -316,9 +316,9 @@ github.com/hashicorp/go-retryablehttp github.com/hashicorp/go-rootcerts # github.com/hashicorp/go-safetemp v1.0.0 github.com/hashicorp/go-safetemp -# github.com/hashicorp/go-slug v0.4.0 +# github.com/hashicorp/go-slug v0.4.1 github.com/hashicorp/go-slug -# github.com/hashicorp/go-tfe v0.3.25 +# github.com/hashicorp/go-tfe v0.3.27 github.com/hashicorp/go-tfe # github.com/hashicorp/go-uuid v1.0.1 github.com/hashicorp/go-uuid