Skip to content

Commit c46979c

Browse files
authored
Add support for deferred actions (#1377)
1 parent 97964e8 commit c46979c

File tree

8 files changed

+264
-122
lines changed

8 files changed

+264
-122
lines changed

.changelog/1377.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
Add support for Terraform's experimental deferred actions
3+
```
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Deferred Actions
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
paths:
8+
- "helm/**/*.go"
9+
- "go.mod"
10+
workflow_dispatch:
11+
inputs:
12+
terraformVersion:
13+
description: Terraform version
14+
default: 1.9.0-alpha20240516
15+
16+
jobs:
17+
acceptance_tests:
18+
runs-on: custom-linux-medium
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
22+
- name: Set up Go
23+
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
24+
with:
25+
go-version-file: 'go.mod'
26+
- name: Run Tests
27+
env:
28+
TF_ACC: 1
29+
TF_ACC_TERRAFORM_VERSION: ${{ github.event.inputs.terraformVersion || vars.TERRAFORM_VERSION_EXP }}
30+
run: |
31+
go test -v -run '^TestAccDeferredActions_basic' ./helm/testing

go.mod

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ go 1.21
55
require (
66
github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637
77
github.com/hashicorp/terraform-plugin-docs v0.16.0
8-
github.com/hashicorp/terraform-plugin-sdk/v2 v2.30.0
8+
github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0
9+
github.com/hashicorp/terraform-plugin-testing v1.8.0
910
github.com/mitchellh/go-homedir v1.1.0
1011
github.com/pkg/errors v0.9.1
1112
github.com/stretchr/testify v1.8.4
12-
golang.org/x/crypto v0.21.0
13+
golang.org/x/crypto v0.23.0
1314
helm.sh/helm/v3 v3.13.2
1415
k8s.io/api v0.28.4
1516
k8s.io/apimachinery v0.28.4
@@ -28,7 +29,7 @@ require (
2829
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
2930
github.com/Masterminds/squirrel v1.5.4 // indirect
3031
github.com/Microsoft/hcsshim v0.11.4 // indirect
31-
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
32+
github.com/ProtonMail/go-crypto v1.1.0-alpha.2 // indirect
3233
github.com/agext/levenshtein v1.2.2 // indirect
3334
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
3435
github.com/armon/go-radix v1.0.0 // indirect
@@ -52,7 +53,7 @@ require (
5253
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
5354
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
5455
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
55-
github.com/fatih/color v1.13.0 // indirect
56+
github.com/fatih/color v1.16.0 // indirect
5657
github.com/felixge/httpsnoop v1.0.3 // indirect
5758
github.com/go-errors/errors v1.4.2 // indirect
5859
github.com/go-gorp/gorp/v3 v3.1.0 // indirect
@@ -63,34 +64,34 @@ require (
6364
github.com/go-openapi/swag v0.22.3 // indirect
6465
github.com/gobwas/glob v0.2.3 // indirect
6566
github.com/gogo/protobuf v1.3.2 // indirect
66-
github.com/golang/protobuf v1.5.3 // indirect
67+
github.com/golang/protobuf v1.5.4 // indirect
6768
github.com/google/btree v1.0.1 // indirect
6869
github.com/google/gnostic-models v0.6.8 // indirect
6970
github.com/google/go-cmp v0.6.0 // indirect
7071
github.com/google/gofuzz v1.2.0 // indirect
7172
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
72-
github.com/google/uuid v1.3.0 // indirect
73+
github.com/google/uuid v1.6.0 // indirect
7374
github.com/gorilla/mux v1.8.0 // indirect
7475
github.com/gosuri/uitable v0.0.4 // indirect
7576
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
7677
github.com/hashicorp/errwrap v1.1.0 // indirect
7778
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
7879
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
79-
github.com/hashicorp/go-hclog v1.5.0 // indirect
80+
github.com/hashicorp/go-hclog v1.6.3 // indirect
8081
github.com/hashicorp/go-multierror v1.1.1 // indirect
81-
github.com/hashicorp/go-plugin v1.5.1 // indirect
82+
github.com/hashicorp/go-plugin v1.6.0 // indirect
8283
github.com/hashicorp/go-uuid v1.0.3 // indirect
8384
github.com/hashicorp/go-version v1.6.0 // indirect
84-
github.com/hashicorp/hc-install v0.6.1 // indirect
85-
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
85+
github.com/hashicorp/hc-install v0.6.4 // indirect
86+
github.com/hashicorp/hcl/v2 v2.20.1 // indirect
8687
github.com/hashicorp/logutils v1.0.0 // indirect
87-
github.com/hashicorp/terraform-exec v0.19.0 // indirect
88-
github.com/hashicorp/terraform-json v0.17.1 // indirect
89-
github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect
88+
github.com/hashicorp/terraform-exec v0.21.0 // indirect
89+
github.com/hashicorp/terraform-json v0.22.1 // indirect
90+
github.com/hashicorp/terraform-plugin-go v0.23.0 // indirect
9091
github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect
91-
github.com/hashicorp/terraform-registry-address v0.2.2 // indirect
92+
github.com/hashicorp/terraform-registry-address v0.2.3 // indirect
9293
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
93-
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect
94+
github.com/hashicorp/yamux v0.1.1 // indirect
9495
github.com/huandu/xstrings v1.4.0 // indirect
9596
github.com/imdario/mergo v0.3.15 // indirect
9697
github.com/inconshreveable/mousetrap v1.1.0 // indirect
@@ -104,7 +105,7 @@ require (
104105
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
105106
github.com/mailru/easyjson v0.7.7 // indirect
106107
github.com/mattn/go-colorable v0.1.13 // indirect
107-
github.com/mattn/go-isatty v0.0.17 // indirect
108+
github.com/mattn/go-isatty v0.0.20 // indirect
108109
github.com/mattn/go-runewidth v0.0.9 // indirect
109110
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
110111
github.com/mitchellh/cli v1.1.5 // indirect
@@ -140,31 +141,32 @@ require (
140141
github.com/spf13/cobra v1.7.0 // indirect
141142
github.com/spf13/pflag v1.0.5 // indirect
142143
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
143-
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
144+
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
144145
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
145146
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
146147
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
147148
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
148149
github.com/xlab/treeprint v1.2.0 // indirect
149-
github.com/zclconf/go-cty v1.14.1 // indirect
150+
github.com/zclconf/go-cty v1.14.4 // indirect
150151
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect
151152
go.opentelemetry.io/otel v1.19.0 // indirect
152153
go.opentelemetry.io/otel/metric v1.19.0 // indirect
153154
go.opentelemetry.io/otel/trace v1.19.0 // indirect
154155
go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect
155156
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
156-
golang.org/x/mod v0.13.0 // indirect
157+
golang.org/x/mod v0.16.0 // indirect
157158
golang.org/x/net v0.23.0 // indirect
158-
golang.org/x/oauth2 v0.10.0 // indirect
159-
golang.org/x/sync v0.3.0 // indirect
160-
golang.org/x/sys v0.18.0 // indirect
161-
golang.org/x/term v0.18.0 // indirect
162-
golang.org/x/text v0.14.0 // indirect
159+
golang.org/x/oauth2 v0.17.0 // indirect
160+
golang.org/x/sync v0.6.0 // indirect
161+
golang.org/x/sys v0.20.0 // indirect
162+
golang.org/x/term v0.20.0 // indirect
163+
golang.org/x/text v0.15.0 // indirect
163164
golang.org/x/time v0.3.0 // indirect
164-
google.golang.org/appengine v1.6.7 // indirect
165-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
166-
google.golang.org/grpc v1.58.3 // indirect
167-
google.golang.org/protobuf v1.33.0 // indirect
165+
golang.org/x/tools v0.13.0 // indirect
166+
google.golang.org/appengine v1.6.8 // indirect
167+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
168+
google.golang.org/grpc v1.63.2 // indirect
169+
google.golang.org/protobuf v1.34.0 // indirect
168170
gopkg.in/inf.v0 v0.9.1 // indirect
169171
gopkg.in/yaml.v2 v2.4.0 // indirect
170172
gopkg.in/yaml.v3 v3.0.1 // indirect

0 commit comments

Comments
 (0)