Skip to content

Commit 216d406

Browse files
committed
Add env var SKIP_FOLDER_SWEEPER
1 parent f734aa9 commit 216d406

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

mmv1/third_party/terraform/.teamcity/components/builds/build_parameters.kt

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -225,27 +225,33 @@ fun ParametrizedWithType.sweeperParameters(sweeperRegions: String, sweepRun: Str
225225
text("SWEEP_RUN", sweepRun)
226226
}
227227

228-
// ParametrizedWithType.terraformSkipProjectSweeper sets an environment variable to skip the sweeper for project resources
229-
fun ParametrizedWithType.terraformSkipProjectSweeper() {
230-
text("env.SKIP_PROJECT_SWEEPER", "1")
228+
// ParametrizedWithType.terraformSkipSweeper sets an environment variable used to skip the sweeper for resources
229+
fun ParametrizedWithType.terraformSkipSweeper(resourceType: String) {
230+
// Converts "PROJECT" into "env.SKIP_PROJECT_SWEEPER"
231+
// Converts "FOLDER" into "env.SKIP_FOLDER_SWEEPER"
232+
text("env.SKIP_${resourceType.uppercase()}_SWEEPER", "1")
231233
}
232234

233235
// BuildType.disableProjectSweep disabled sweeping project resources after a build configuration has been initialised
234236
fun BuildType.disableProjectSweep(){
235237
params {
236-
terraformSkipProjectSweeper()
238+
terraformSkipSweeper("PROJECT")
239+
terraformSkipSweeper("FOLDER")
237240
}
238241
}
239242

240-
// ParametrizedWithType.terraformEnableProjectSweeper unsets an environment variable used to skip the sweeper for project resources
241-
fun ParametrizedWithType.terraformEnableProjectSweeper() {
242-
text("env.SKIP_PROJECT_SWEEPER", "")
243+
// ParametrizedWithType.terraformEnableSweeper unsets an environment variable used to skip the sweeper for resources
244+
fun ParametrizedWithType.terraformEnableSweeper(resourceType: String) {
245+
// Converts "PROJECT" into "env.SKIP_PROJECT_SWEEPER"
246+
// Converts "FOLDER" into "env.SKIP_FOLDER_SWEEPER"
247+
text("env.SKIP_${resourceType.uppercase()}_SWEEPER", "")
243248
}
244249

245250
// BuildType.enableProjectSweep enables sweeping project resources after a build configuration has been initialised
246251
fun BuildType.enableProjectSweep(){
247252
params {
248-
terraformEnableProjectSweeper()
253+
terraformEnableSweeper("PROJECT")
254+
terraformEnableSweeper("FOLDER")
249255
}
250256
}
251257

mmv1/third_party/terraform/services/resourcemanager/resource_google_folder_sweeper.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"log"
7+
"os"
78
"strings"
89
"time"
910

@@ -16,6 +17,15 @@ import (
1617
)
1718

1819
func init() {
20+
// SKIP_FOLDER_SWEEPER can be set for a sweeper run to prevent it from
21+
// sweeping folders. This can be useful when running sweepers in
22+
// organizations where acceptance tests intiated by another folder may
23+
// already be in-progress.
24+
// Example: SKIP_FOLDER_SWEEPER=1 go test ./google -v -sweep=us-central1 -sweep-run=
25+
if os.Getenv("SKIP_FOLDER_SWEEPER") != "" {
26+
return
27+
}
28+
1929
sweeper.AddTestSweepersLegacy("GoogleFolder", testSweepFolder)
2030
}
2131

0 commit comments

Comments
 (0)