Code Monkey home page Code Monkey logo

terraform-provider-buildkite's Introduction

Buildkite Terraform Provider

Build status

This is the official Terraform provider for Buildkite. The provider is listed in the Terraform Registry and supports Terraform >= 1.0.

The provider allows you to manage resources in your Buildkite organization.

Two configuration values are required:

  • An API token, with write_pipelines, read_pipelines and write_suites REST API scopes and be enabled for GraphQL API access. You can generate one here
  • A Buildkite organization slug, available by signing into buildkite.com and examining the URL: https://buildkite.com/.

Documentation

The reference documentation on the terraform registry is the recommended location for guidance on using this provider.

Thanks ❤️

A massive thanks to Jarryd Tilbrook for authoring the original Buildkite Terraform provider.

License

Buildkite Terraform Provider is licensed under the MIT license.

Local development

Contributions are welcome.

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.21+ is required). Dependencies are managed via gomodules and installed automatically as required.

To compile the provider:

make build

To run local tests that don't require any network access:

make test

Buildkite has two APIs: REST and GraphQL. New resources should use the GraphQL API where possible, but can fallback to the REST API for resouces or properties not yet supported by GraphQL.

Manual testing

The repo contains a tf-proj/ directory that can be used to quickly test a compiled version of the provider from the current branch.

  1. Update tf-proj/main.tf to use the resource or property you're developing

  2. Compile the provider with make build

  3. Add a .terraformrc configuration file to override the provider binary. See below: Overriding the provider for local development

  4. Run terraform plan in the tf-proj directory

    BUILDKITE_API_TOKEN=<api-token> BUILDKITE_ORGANIZATION_SLUG=<org-slug> terraform plan

Overriding the provider for local development

You'll need to add a provider override to your ~/.terraformrc. Documentation around using this file can be found here. See below for an example of a .terraformrc file set up for plugin override.

provider_installation {

        dev_overrides {
                "buildkite/buildkite" = "/Path/to/this/repo/directory/"
        }

        direct {}
}

When you run terraform commands, you will now be using the local plugin, rather than the remote.

Acceptance tests

Acceptance tests that test the provider works against the live Buildkite API can be executed like this:

make testacc

These tests require two environment variables to run correctly:

BUILDKITE_ORGANIZATION_SLUG=<org-slug> BUILDKITE_API_TOKEN=<token> make testacc

Note that these tests make live changes to an organization and probably shouldn't be run against organizations with real data. Anyone actively developing features for this provider is welcome to request a test organization by contacting [email protected].

Also note that the CI process will not run acceptance tests on pull requests. Code reviewers will run the acceptance tests manually, and we ask that code submissions run the acceptance tests locally to confirm the tests pass before requesting a review.

Release Process

Pushing a new version tag to GitHub (or creating a new release on github.com) will trigger a new build in the release pipeline. That pipeline will compile the appropriate binaries, sign them, and attach them to a draft release in https://github.com/buildkite/terraform-provider-buildkite.

Edit the draft to add in the relevant changes and click publish.

The terraform registry will detect the new release on GitHub and update their own listings.

terraform-provider-buildkite's People

Contributors

acaire avatar bockit avatar chloeruka avatar danstn avatar darrylb-github avatar dependabot[bot] avatar drcapulet avatar ellsclytn avatar fd-jonathanlinn avatar gu-kevin avatar hadusam avatar jack1902 avatar james2791 avatar jeremybumsted avatar jlisee avatar jmctune avatar jradtilbrook avatar juanitofatas avatar juliangrosshauser avatar kate-syberspace avatar keith avatar keithpitt avatar lizrabuya avatar margueritepd avatar mcncl avatar moskyb avatar tomowatt avatar vgrigoruk avatar wolfeidau avatar yob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

terraform-provider-buildkite's Issues

Expose access to `archived` state

We've got a couple of archived pipelines, and a few more that probably should be archived. It'd be nice to be able to manage this through Terraform. I had a quick look around in the code but I'm not familiar enough with Go to see an obvious change to make.

Support specifying pipeline team membership using team id

Currently we support placing pipelines in a team like this:

resource "buildkite_pipeline" "repo2" {
    name = "repo2"
    repository = "[email protected]:org/repo2"
    steps = file("./steps.yml")

    team {
        slug = "everyone"
        access_level = "READ_ONLY"
    }
}

Specifying the team via a slug is nice and readable, but it requires an API call to map it to a team graphql ID. We'd like to deprecate the slug, and instead recommend this approach:

resource "buildkite_team" "everyone" {
    name = "everyone"
}

resource "buildkite_pipeline" "repo2" {
    name = "repo2"
    repository = "[email protected]:org/repo2"
    steps = file("./steps.yml")

    team {
        id = buildkite_team.everyone.id
        access_level = "READ_ONLY"
    }
}

Adding a data source for buildkite_team would be a nice bonus too. We'd need to continue supporting slug for backwards compatibility, but it could be deprecated.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

rsc.io/[email protected]: unrecognized import path "rsc.io/binaryregexp" (parse https://rsc.io/binaryregexp?go-get=1: no go-import meta tags ())

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Environment variables aren't being picked up by the provider

Thanks a lot for maintaining this @jradtilbrook. I played with it locally and it works well.

When I have the environment variables BUILDKITE_API_TOKEN and BUILDKITE_ORGANIZATION defined and set this in my main.tf

provider "buildkite" {}

Then I run an apply, I get a prompt and a failure. The prompt shouldn't happen if it's reading the value from the environment variables.

✗ terraform apply
provider.buildkite.api_token
  API token with GraphQL access and `write_pipelines` scope

  Enter a value: aaaaaaaaaaaaaaaaaaaaaaaaa
buildkite_pipeline.repo1: Creating...

Error: non-200 OK status code: 401 Unauthorized body: "{\n  \"errors\": [\n    {\n      \"message\": \"Authentication required. Please supply a valid API Access Token: https://buildkite.com/docs/apis/graphql-api#authentication\"\n    }\n  ]\n}\n"

I found that I had to set the following for the provider to work as expected.

provider "buildkite" {
  api_token    = "...redacted..."
  organization = "...redacted..."
}

Bug in importing schedules

We've been expanding our TF setup to include additional resources and found ourselves needing to import state of existing schedules. They were created using this Buildkite provider so they should all be set up right, but all of them throw this error:

module.managed-repository-for-something.buildkite_pipeline_schedule.buildkite_pipeline_schedule: Importing from ID "org/slug/relevant_id"...

Error: nil entry in ImportState results. This is always a bug with
the resource that is being imported. Please report this as
a bug to Terraform.

We've got an easy workaround in that we can just delete and re-create the schedules without any real downsides, but I figured I'd flag it here at least.

Delete a pipeline using GraphQL

When the pipeline resource was developed in this provider, the GraphQL API did not support deleting a pipeline so the rest API had to be used. There is now a delete mutation so this could be refactored to use GraphQL

"team": required field is not set

This looks like a great update of the terraform provider!

But I noticed team support was added, and is now required. I get:

Error: "team": required field is not set

  on ops.tf line 14, in resource "buildkite_pipeline" "ops":
  14: resource "buildkite_pipeline" "ops" {

But teams is an optional feature, and not required. Is there a reason it's required by the terraform resources?

Handle repository renames

As our previously Buildkite-only repository now manages GitHub repositories as well, I decided to rename it using the GH repo's module definition:

Error: Provider produced inconsistent final plan
--
  |  
  | When expanding the plan for
  | module.managed-repository-infra-buildkite.buildkite_pipeline.buildkite_pipeline[0]
  | to include new values learned so far during apply, provider
  | "registry.terraform.io/buildkite/buildkite" produced an invalid new value for
  | .repository: was
  | cty.StringVal("[email protected]:greensync/infra-buildkite.git"), but now
  | cty.StringVal("[email protected]:greensync/infra-repositories.git").
  |  
  | This is a bug in the provider, which should be reported in the provider's own
  | issue tracker.

The modules look more or less like you'd expect:

resource "github_repository" "github_repository" {
  name          = var.repo_name
  description   = var.repo_desc
  ...
}

resource "buildkite_pipeline" "buildkite_pipeline" {
  count      = var.build_pipeline ? 1 : 0
  name       = github_repository.github_repository.name
  repository = github_repository.github_repository.ssh_clone_url
   ...
}

There's also the Webhook creation and schedule but I don't think they relate to this.

We fixed it in the GUI but I figured this was a rare enough edge case you might want to see it.

Dependabot can't parse your go.mod

Dependabot couldn't parse the go.mod found at /go.mod.

The error Dependabot encountered was:

go: github.com/hashicorp/[email protected] requires
	github.com/hashicorp/[email protected] requires
	howett.net/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /opt/go/gopath/pkg/mod/cache/vcs/c8e70a3b22313f6fedf9d36ced823fdeb2c8ba51480fd7c16ae40194977aa32a: exit status 128:
	fatal: unable to access 'https://gitlab.howett.net/go/plist.git/': The requested URL returned error: 503

View the update logs.

[Feature request] Team members

It would be great to expand the buildkite_team resource and have something like buildkite_team_member

resource "buildkite_team_member" "my_team_member" {
  team_id  = buildkite_team.team.id
  username = "SomeUser"
  role     = "MEMBER"
}

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

gopkg.in/cheggaaa/[email protected]: unrecognized import path "gopkg.in/cheggaaa/pb.v1" (parse https://gopkg.in/cheggaaa/pb.v1?go-get=1: no go-import meta tags ())

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Question - How to provide BUILDKITE_API_TOKEN for import?

Hey,

I'm trying to import some pipelines but keep hitting 401 "Please supply a valid API Access Token"

$ terraform import 'buildkite_pipeline.pipelines["pipeline1"]' UGlwZWxpbmUtLS00MzVjYWQ1OC1lODFkLTQ1YWYtODYzNy1iMWNmODA3MDIzOGQ

buildkite_pipeline.pipelines["pipeline1"]: Importing from ID "UGlwZWxpbmUtLS00MzVjYWQ1OC1lODFkLTQ1YWYtODYzNy1iMWNmODA3MDIzOGQ="...
buildkite_pipeline.pipelines["pipeline1"]: Import prepared!
  Prepared buildkite_pipeline for import
buildkite_pipeline.pipelines["pipeline1"]: Refreshing state... [id=UGlwZWxpbmUtLS00MzVjYWQ1OC1lODFkLTQ1YWYtODYzNy1iMWNmODA3MDIzOGQ=]

Error: non-200 OK status code: 401 Unauthorized body: "{\n  \"errors\": [\n    {\n      \"message\": \"Authentication required. Please supply a valid API Access Token: https://buildkite.com/docs/apis/graphql-api#authentication\"\n    }\n  ]\n}\n"

Note above is using the pipeline id from the readme, but I am using the right graphql ID for my repo locally.

My provider is configured with a valid graphql token that allows me to create and delete pipelines without any problem; I only get this error when trying to import. I don't think it's token permissions since the repo I'm trying to import is one that I created with the provider and then removed from state to test the importing.

I tried BUILDKITE_API_TOKEN=abc123.... terraform import... but still no joy.

Any other ideas where I'm going wrong?

Cheers,
Darryl

Use machine users for tests in the Buildkite test org

This relates to internal provider support and does not directly affect consumers of this provider

Currently our acceptance tests borrow an API token from two of @yob's users. We should add machine users to the buildkite-terraform-provider-test-org organisation so that we don't take a dependency on real user accounts. One for an admin, and one for a team maintainer (non-admin)

Add darwin/arm64 target once golang 1.16 is released

Once golang 1.16 is released with support for m1 systems from Apple, it'd be neat to add it as a compilation target for this provider.

I haven't checked if terraform is officially shipping support for m1 system yet though, we should probably check that first.

v0.0.10 release exec format error

Hey @jradtilbrook ,

On the new release v0.0.10, I'm getting exec format error when trying to use terraform-provider-buildkite_v0.0.10_linux_amd64.tar.gz within a linux docker container. Perhaps it's built / labeled the wrong platform as the linux copy or maybe I'm doing something daft?

FROM python:3.7.3-slim
...
RUN curl -o ${plugin_dir}/terraform-provider-buildkite_v0.0.10 -sL https://github.com/jradtilbrook/terraform-provider-buildkite/releases/download/v0.0.10/terraform-provider-buildkite_v0.0.10_linux_amd64.tar.gz && \
    chmod +x ${plugin_dir}/terraform-provider-buildkite_v0.0.10

This works pointing at my own manual release https://github.com/darrylb-github/terraform-provider-buildkite/releases/tag/v0.0.9, though I noticed mine is much larger than yours so maybe I did something different building.

Data Provider for Egress IPs

Buildkite publishes the IP addresses we use for egress traffic (like webhooks and commit statuses) at this unauthenticated API: https://api.buildkite.com/v2/meta

It'd be neat if the provider included a data source that exposed these IPs so folks could automatically configure firewall rules.

Error adding simple pipeline. Asks for team when team is already specified.

terraform {
  required_providers {
    buildkite = {
      source  = "buildkite/buildkite"
      version = "0.0.17"
    }
  }
}

resource "buildkite_pipeline" "test" {
  name       = "Panzer Test 1"
  repository = "github.com:pagerduty/web"

  steps = file("steps.yml")

  team {
    slug         = "sustainability"
    access_level = "MANAGE_BUILD_AND_READ"
  }
}

provider "buildkite" {
  # Configuration options
  api_token    = "redacted" # can also be set from env: BUILDKITE_API_TOKEN
  organization = "pagerduty"                                # can also be set from env: BUILDKITE_ORGANIZATION
}

Output:

$ terraform apply

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # buildkite_pipeline.test will be created
  + resource "buildkite_pipeline" "test" {
      + cancel_intermediate_builds = false
      + id                         = (known after apply)
      + name                       = "Panzer Test 1"
      + repository                 = "github.com:pagerduty/web"
      + skip_intermediate_builds   = false
      + slug                       = (known after apply)
      + steps                      = <<~EOT

            steps:
              - label: ':pipeline:'
                command: buildkite-agent upload
        EOT
      + team                       = [
          + {
              + access_level = "MANAGE_BUILD_AND_READ"
              + slug         = "sustainability"
            },
        ]
      + webhook_url                = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

buildkite_pipeline.test: Creating...

Error: Please ensure at least one team is added to this pipeline

  on main2.tf line 16, in resource "buildkite_pipeline" "test":
  16: resource "buildkite_pipeline" "test" {

Note: My token has full access to all the things but is not administrator in the org. I can validate that I have... enough... permissions cause I can make the same pipeline manually in the UI. I'm a team member of the Sustainability team and that is the correct slug.

$ terraform version
Terraform v0.13.5
+ provider registry.terraform.io/buildkite/buildkite v0.0.17

Standardise IDs used for importing resources

In #140 @thomasvdpol observed that we're inconsistent with the type of ID we use for importing resources. Some use the graphql ID, some use the UUID. It'd be nice to standardise on a single type of ID (or consistently support both I guess).

If we pick one, we should gracefully transition and support both kinds of ID on the resources that need to change for a while.

Here's the ID types we currently require:

  • agent_token: graphql ID
  • pipeline: graphql ID
  • pipeline_schedule: <org slug>/<pipeline slug>/<schedule uuid>
  • team: graphql ID

Data Provider For Pipeline

It would be pretty excellent for my team if there were a data provider for a pipeline. We have our GitHub repositories configured via Terraform, but we have those in a separate git repository from our Buildkite pipelines. So we have to manually copy the webhook URL from Buildkite into those Terraform configs.

Being able to use a data provider for a Buildkite pipeline means we can partially automate that in our other git repository.

Adding other resource types

There are a number of other resource types that would be useful to add to this provider:

  • SSO configuration
  • teams
  • users

After more resources have been added and this is more useful, share it with buildkite and perhaps even try get it listed on terraform website for 3rd party providers

Consider replacing github.com/shurcooL/graphql with something easier to use

In #112 I wrestled a lot with this library. It was much harder to get it generating the query shape I wanted than I hoped.

Maybe I was just using it wrong, but I reckon it's worth considering swapping it out for something else.

https://github.com/buildkite/cli has a super minimal custom thing (see https://github.com/buildkite/cli/blob/master/graphql/client.go) that would be much easier to use, maybe we could borrow that, or extract it to our own mini graphql module? That particular package is 3 years old too, so maybe there's another modern and easy to use third party graphql client to consider.

Some things to consider:

  • Maybe we just want to build the query as a string, rather than use deep reflection and struct tags. Less magic, and easier to get the query shape we want? This is what we do in https://github.com/buildkite/cli
  • Some way to enable HTTP debugging and have the raw graqphql request and repsonse printed to the screen would be super useful. I ended up forking github.com/shurcooL/graphql into github.com/yob/graphql and adding this for local debugging

Add a data source for buildkite_team

It would be really handy to have a buildkite_team data source to manage teams that were created in the UI. I think it will make it easier for people to migrate to using the Terraform provider as they can re-use what's already been created.

Go releaser incorrectly configured

Go releaser runs twice and creates 2 draft releases. It also clobbers the draft that I create that triggers the action so something is amiss.

Dependabot can't parse your go.mod

Dependabot couldn't parse the go.mod found at /go.mod.

The error Dependabot encountered was:

go: github.com/hashicorp/[email protected] requires
	cloud.google.com/[email protected] requires
	[email protected] requires
	google.golang.org/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /opt/go/gopath/pkg/mod/cache/vcs/30a5dbaa452c7ca9354df264080379bbcf24496036c60968495fa0ec4a41888c: exit status 128:
	error: RPC failed; curl 18 transfer closed with outstanding read data remaining
	fatal: The remote end hung up unexpectedly
	fatal: early EOF
	fatal: index-pack failed

View the update logs.

Error when creating new pipelines

Steps to reproduce:

resource "buildkite_pipeline" "example" {
  name = "example"
  repository = "[email protected]:example/example.git"
  steps = "steps:\n  - command: \"buildkite-agent pipeline upload\"\n    label: \":pipeline:\""
}

Then run terraform apply. It should error with:

Error: Please ensure at least one team is added to this pipeline

I assume this is blocked by #21. Is there some sort of BuildKite config setting that is preventing this from being an issue for other users?

Incorrect import of BK pipeline TF states (provider_settings)

We have noticed that the TF Buildkite provider does not (always) import the TF state of a pipeline correctly - causing terraform apply to apply unwanted changes.

Specifically, the Github option build_branches (see: BK TF provider documentation) is sometimes read as false by the BK TF provider, although it is enabled in the BK console.

Screen Shot 2021-08-09 at 1 40 52 pm

We could trace back this issue to an error (?) of the BK API, which reports sometimes no value at all and sometimes true (correct!) for build_branches configs of different BK pipelines.

Wrong case:

curl -s 'https://api.buildkite.com/v2/organizations/<organization-slug>/pipelines/<pipeline1-slug>' -H 'authorization: Bearer <token>' | jq ".provider.settings.build_branches"

null

Correct case:

curl -s 'https://api.buildkite.com/v2/organizations/<organization-slug>/pipelines/<pipeline2-slug>' -H 'authorization: Bearer <token>' | jq ".provider.settings.build_branches"

true

As it seems, the BK TF provider interprets no value (null) mistakenly as false.

Hint:
It could be the case that this issue is not limited to the build_branches configuration, only.

GitHub actions seem to have a race condition

Release v0.0.3 uploaded the windows binary in place of the Mac build. It seems like it's a race condition between the containers running from GitHub actions. The linux build worked fine probably because it ran first/fastest but the Windows/Mac built at the same time and clobbered each others.

I didn't realise they shared the exact same working copy of the repo. That's probably the only explanation.

It's also frustratingly slow so maybe look into either Go releaser or using travis to build things on tagged builds

Ensure resources are destroyed after acceptance tests

As part of ongoing maintenance of this repository, we need to ensure that all resources created by Terraform during acceptance tests are tidied up so that we don't end up with an inconsistent environment state. Terraform does its best, and usually eliminates the resources, but if a runtime exception occurs, orphaned resources can be left behind.

Adding schedules resource type

My work happens to need schedules set up so I am thinking about adding this feature but unsure how you would like the interface to be like.

Here are few options that I come up with:

# DSL in the `buildkite_pipeline` resource
resource "buildkite_pipeline" "repo1" {
  schedules = [
    {
      cron_interval: string,
      description: string,
      build_message: string,
      build_commit: string,
      build_branch: string,
      builld_env: { key: value }
    }
  ]
}

OR

# `buildkite_schedules` resource
resource "buildkite_schedules" "sched1" {
    cron_interva=string,
    description=string,
    build_message=string,
    build_commit=string,
    build_branch=string,
    builld_env={ key: value }
}

resource "buildkite_pipeline" "repo1" {
  schedules = [sched1]
}

Thoughts?

Is it possible to create Github webhooks via terraform?

We're now managing our Buildkite pipelines via your terraform provider - thank you! We haven't had much luck configuring Github webhooks via the provider though (it doesn't look like it's even supported). We're manually creating the webhooks via the Buildkite UI once the pipeline has been created via terraform for now. Is this the expected approach and are there any plans to change the way this works in the future?

What's the minimum version of terraform we support?

I'm just starting to experiment with this provider and I notice the README/docs suggest the terraform 0.13 style of configuration:

terraform {
  required_providers {
    buildkite = {
      source = "jradtilbrook/buildkite"
      version = "0.0.15"
    }
  }
}

Does that make terraform 0.13 the minimum supported version? Or will the plugin also work with terraform 0.12?

I'm happy to open a PR that updates the README.

Acceptance tests fail locally when running against a test buildkite org

I've tried to run acceptance tests locally (10576bd). I created a new buildkite org (and enabled "Teams" for that org), generated a new API Token for my user and run the tests. For some reason a single test is failing TestAccPipelineSchedule_import. Am I doing something wrong?

$ BUILDKITE_ORGANIZATION=********* BUILDKITE_API_TOKEN=********** make testacc
TF_ACC=1 go test -v ./...
?       github.com/buildkite/terraform-provider-buildkite       [no test files]
=== RUN   TestAccDataPipeline_read
--- PASS: TestAccDataPipeline_read (23.05s)
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccAgentToken_add_remove
--- PASS: TestAccAgentToken_add_remove (27.26s)
=== RUN   TestAccAgentToken_update
--- PASS: TestAccAgentToken_update (32.67s)
=== RUN   TestAccAgentToken_import
--- PASS: TestAccAgentToken_import (28.70s)
=== RUN   TestAccPipelineSchedule_add_remove
--- PASS: TestAccPipelineSchedule_add_remove (25.47s)
=== RUN   TestAccPipelineSchedule_add_remove_withteams
--- PASS: TestAccPipelineSchedule_add_remove_withteams (26.87s)
=== RUN   TestAccPipelineSchedule_update
--- PASS: TestAccPipelineSchedule_update (38.38s)
=== RUN   TestAccPipelineSchedule_update_withteams
--- PASS: TestAccPipelineSchedule_update_withteams (36.58s)
=== RUN   TestAccPipelineSchedule_import
    TestAccPipelineSchedule_import: resource_pipeline_schedule_test.go:152: Step 2/2 error running import: 2021/03/10 09:43:37 [DEBUG] Using modified User-Agent: Terraform/0.12.29 HashiCorp-terraform-exec/0.10.0
        
        Error: nil entry in ImportState results. This is always a bug with
        the resource that is being imported. Please report this as
        a bug to Terraform.
        
        
--- FAIL: TestAccPipelineSchedule_import (25.52s)
=== RUN   TestAccPipelineSchedule_disappears
--- PASS: TestAccPipelineSchedule_disappears (22.35s)
=== RUN   TestAccPipeline_add_remove
--- PASS: TestAccPipeline_add_remove (20.83s)
=== RUN   TestAccPipeline_add_remove_complex
--- PASS: TestAccPipeline_add_remove_complex (20.20s)
=== RUN   TestAccPipeline_add_remove_withteams
--- PASS: TestAccPipeline_add_remove_withteams (20.24s)
=== RUN   TestAccPipeline_update
--- PASS: TestAccPipeline_update (34.10s)
=== RUN   TestAccPipeline_update_withteams
--- PASS: TestAccPipeline_update_withteams (35.70s)
=== RUN   TestAccPipeline_import
--- PASS: TestAccPipeline_import (25.85s)
=== RUN   TestAccPipeline_disappears
--- PASS: TestAccPipeline_disappears (17.91s)
=== RUN   TestAccTeam_add_remove
--- PASS: TestAccTeam_add_remove (18.84s)
=== RUN   TestAccTeam_update
--- PASS: TestAccTeam_update (50.31s)
=== RUN   TestAccTeam_import
--- PASS: TestAccTeam_import (27.55s)
=== RUN   TestAccTeam_disappears
--- PASS: TestAccTeam_disappears (19.28s)
FAIL
FAIL    github.com/buildkite/terraform-provider-buildkite/buildkite     578.133s
FAIL
make: *** [testacc] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.