Merge pull request #23398 from hashicorp/b-windows-tfignore
[deps] Update go-tfe
This commit is contained in:
commit
5223aa35ba
2
go.mod
2
go.mod
|
@ -64,7 +64,7 @@ require (
|
||||||
github.com/hashicorp/go-retryablehttp v0.5.2
|
github.com/hashicorp/go-retryablehttp v0.5.2
|
||||||
github.com/hashicorp/go-rootcerts v1.0.0
|
github.com/hashicorp/go-rootcerts v1.0.0
|
||||||
github.com/hashicorp/go-sockaddr v0.0.0-20180320115054-6d291a969b86 // indirect
|
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-uuid v1.0.1
|
||||||
github.com/hashicorp/go-version v1.2.0
|
github.com/hashicorp/go-version v1.2.0
|
||||||
github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f
|
github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f
|
||||||
|
|
8
go.sum
8
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-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 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo=
|
||||||
github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I=
|
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.1 h1:/jAo8dNuLgSImoLXaX7Od7QB4TfYCVPam+OpAt5bZqc=
|
||||||
github.com/hashicorp/go-slug v0.4.0/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8=
|
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 h1:7YOlAIO2YWnJZkQp7B5eFykaIY7C9JndqAFQyVV5BhM=
|
||||||
github.com/hashicorp/go-sockaddr v0.0.0-20180320115054-6d291a969b86/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
|
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.27 h1:7XZ/ZoPyYoeuNXaWWW0mJOq016y0qb7I4Q0P/cagyu8=
|
||||||
github.com/hashicorp/go-tfe v0.3.25/go.mod h1:IJQ30WzRajD/W0Z8SY4lhuoOX8h5saTe95t80z8hRsk=
|
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.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 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE=
|
||||||
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||||
|
|
|
@ -196,15 +196,15 @@ func (r *rule) compile() error {
|
||||||
|
|
||||||
var defaultExclusions = []rule{
|
var defaultExclusions = []rule{
|
||||||
{
|
{
|
||||||
val: "**/.git/**",
|
val: strings.Join([]string{"**", ".git", "**"}, string(os.PathSeparator)),
|
||||||
excluded: false,
|
excluded: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
val: "**/.terraform/**",
|
val: strings.Join([]string{"**", ".terraform", "**"}, string(os.PathSeparator)),
|
||||||
excluded: false,
|
excluded: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
val: "**/.terraform/modules/**",
|
val: strings.Join([]string{"**", ".terraform", "modules", "**"}, string(os.PathSeparator)),
|
||||||
excluded: true,
|
excluded: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,28 +128,109 @@ func main() {
|
||||||
|
|
||||||
## Running tests
|
## 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
|
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
|
and token.
|
||||||
tests:
|
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
|
```sh
|
||||||
$ export TFE_ADDRESS=https://tfe.local
|
$ envchain YOUR_NAMESPACE_HERE go test ./... -timeout=30m
|
||||||
$ export TFE_TOKEN=xxxxxxxxxxxxxxxxxxx
|
|
||||||
$ export GITHUB_TOKEN=xxxxxxxxxxxxxxxx
|
|
||||||
$ export GITHUB_IDENTIFIER=xxxxxxxxxxx
|
|
||||||
```
|
```
|
||||||
|
|
||||||
In order for the tests relating to queuing and capacity to pass, FRQ should be
|
##### Without envchain:
|
||||||
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):
|
|
||||||
|
|
||||||
```sh
|
```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
|
## Issues and Contributing
|
||||||
|
|
||||||
If you find an issue with this package, please report an issue. If you'd like,
|
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.
|
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.
|
||||||
|
|
|
@ -5,7 +5,7 @@ require (
|
||||||
github.com/google/go-querystring v1.0.0
|
github.com/google/go-querystring v1.0.0
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.0
|
github.com/hashicorp/go-cleanhttp v0.5.0
|
||||||
github.com/hashicorp/go-retryablehttp v0.5.2
|
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/hashicorp/go-uuid v1.0.1
|
||||||
github.com/stretchr/testify v1.3.0
|
github.com/stretchr/testify v1.3.0
|
||||||
github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d
|
github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d
|
||||||
|
|
|
@ -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-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 h1:YSz3afoEZZJVVB46NITf0+opd2cHpaYJ1XSojOyP0x8=
|
||||||
github.com/hashicorp/go-slug v0.4.0/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8=
|
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 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE=
|
||||||
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
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=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
|
|
@ -40,13 +40,18 @@ type ServiceProviderType string
|
||||||
|
|
||||||
// List of available VCS types.
|
// List of available VCS types.
|
||||||
const (
|
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"
|
ServiceProviderBitbucketServer ServiceProviderType = "bitbucket_server"
|
||||||
ServiceProviderGithub ServiceProviderType = "github"
|
// Bitbucket Server v5.3.0 and below
|
||||||
ServiceProviderGithubEE ServiceProviderType = "github_enterprise"
|
ServiceProviderBitbucketServerLegacy ServiceProviderType = "bitbucket_server_legacy"
|
||||||
ServiceProviderGitlab ServiceProviderType = "gitlab_hosted"
|
ServiceProviderGithub ServiceProviderType = "github"
|
||||||
ServiceProviderGitlabCE ServiceProviderType = "gitlab_community_edition"
|
ServiceProviderGithubEE ServiceProviderType = "github_enterprise"
|
||||||
ServiceProviderGitlabEE ServiceProviderType = "gitlab_enterprise_edition"
|
ServiceProviderGitlab ServiceProviderType = "gitlab_hosted"
|
||||||
|
ServiceProviderGitlabCE ServiceProviderType = "gitlab_community_edition"
|
||||||
|
ServiceProviderGitlabEE ServiceProviderType = "gitlab_enterprise_edition"
|
||||||
)
|
)
|
||||||
|
|
||||||
// OAuthClientList represents a list of OAuth clients.
|
// OAuthClientList represents a list of OAuth clients.
|
||||||
|
|
|
@ -316,9 +316,9 @@ github.com/hashicorp/go-retryablehttp
|
||||||
github.com/hashicorp/go-rootcerts
|
github.com/hashicorp/go-rootcerts
|
||||||
# github.com/hashicorp/go-safetemp v1.0.0
|
# github.com/hashicorp/go-safetemp v1.0.0
|
||||||
github.com/hashicorp/go-safetemp
|
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-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-tfe
|
||||||
# github.com/hashicorp/go-uuid v1.0.1
|
# github.com/hashicorp/go-uuid v1.0.1
|
||||||
github.com/hashicorp/go-uuid
|
github.com/hashicorp/go-uuid
|
||||||
|
|
Loading…
Reference in New Issue