Skip to content

Commit 8d87adf

Browse files
authored
Merge pull request #905 from diggerhq/fix/generate-no-projects-detected-filepath-match
Use filepath.Match() instead of regex in GetFilesWithExtension() Former-commit-id: af24d9c
2 parents ddb2629 + 26196d8 commit 8d87adf

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

libs/digger_config/digger_config.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"os"
88
"path"
99
"path/filepath"
10-
"regexp"
1110
"strings"
1211

1312
"github.com/diggerhq/digger/libs/digger_config/terragrunt/atlantis"
@@ -37,7 +36,7 @@ func GetFilesWithExtension(workingDir string, ext string) ([]string, error) {
3736
}
3837
for _, f := range listOfFiles {
3938
if !f.IsDir() {
40-
r, err := regexp.MatchString(ext, f.Name())
39+
r, err := filepath.Match("*"+ext, f.Name())
4140
if err == nil && r {
4241
files = append(files, f.Name())
4342
}

libs/digger_config/digger_config_test.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,28 @@ generate_projects:
402402
assert.Equal(t, 2, len(dg.Projects))
403403
}
404404

405+
// A .tfvars file should not be recognised as .tf and break parsing for projects nested deeper
406+
// Issue: https://github.com/diggerhq/digger/issues/887
407+
func TestDiggerGenerateProjectsWithTfvars(t *testing.T) {
408+
tempDir, teardown := setUp()
409+
defer teardown()
410+
411+
dirsWithTfToCreate := []string{"dev/us-east-1"}
412+
413+
for _, dir := range dirsWithTfToCreate {
414+
err := os.MkdirAll(path.Join(tempDir, dir), os.ModePerm)
415+
defer createFile(path.Join(tempDir, dir, "main.tf"), "")()
416+
assert.NoError(t, err, "expected error to be nil")
417+
}
418+
419+
defer createFile(path.Join(tempDir, "dev", "blank.tfvars"), "")()
420+
421+
dg, _, _, err := LoadDiggerConfig(tempDir)
422+
assert.NoError(t, err, "expected error to be nil")
423+
assert.NotNil(t, dg, "expected digger digger_config to be not nil")
424+
assert.Equal(t, 1, len(dg.Projects))
425+
}
426+
405427
func TestDiggerGenerateProjectsIgnoreSubdirs(t *testing.T) {
406428
tempDir, teardown := setUp()
407429
defer teardown()

0 commit comments

Comments
 (0)