Skip to content

Commit

Permalink
Merge pull request #21 from ovotech/NOJIRA/block_tf_1.10.0
Browse files Browse the repository at this point in the history
NOJIRA/filtering out blocked terraform versions
  • Loading branch information
richardday-ovo authored Dec 5, 2024
2 parents 53abbff + 71871af commit 540a73b
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion terraform_versions.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
"os"
"regexp"
"slices"
"sort"
"strconv"
"strings"
Expand All @@ -18,6 +19,8 @@ import (
"github.com/mpvl/unique"
)

var blockedTerraformVersions = []string{"1.10.0"}

// Version represents a semantic version
type Version struct {
Major int
Expand Down Expand Up @@ -155,10 +158,24 @@ func newTerraformOptions(t *testing.T) *terraform.Options {
return opts
}

func filterBlockedTerraformVersion(available []string) []string {
slices.Sort(available)
var filteredAvailableVersions []string

for _, blockedVersion := range blockedTerraformVersions {
n, found := slices.BinarySearch(available, blockedVersion)
if found {
filteredAvailableVersions = slices.Delete(available, n, n+1)
}
}
return filteredAvailableVersions
}

func TerraformVersionsTest(t *testing.T, srcDir string, variables map[string]interface{}, environment_variables map[string]string) {
constraint := GetTerraformVersionConstraint(t, srcDir)
available := GetAvailableVersions(t, "terraform")
versions := GetMatchingVersions(t, constraint, available)
filteredAvailable := filterBlockedTerraformVersion(available)
versions := GetMatchingVersions(t, constraint, filteredAvailable)

for _, version := range versions {
tfOptions := newTerraformOptions(t)
Expand Down

0 comments on commit 540a73b

Please sign in to comment.