Skip to content

Commit a6b42ee

Browse files
authored
traverse nested directories (#2105)
* fix/breardon2011/traverse-nested * fixed tests
1 parent f07511c commit a6b42ee

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

libs/digger_config/digger_config.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package digger_config
33
import (
44
"errors"
55
"fmt"
6-
"github.com/diggerhq/digger/libs/digger_config/terragrunt/tac"
76
"log/slog"
87
"os"
98
"path"
109
"path/filepath"
1110
"regexp"
1211
"strings"
1312

13+
"github.com/diggerhq/digger/libs/digger_config/terragrunt/tac"
14+
1415
"github.com/samber/lo"
1516

1617
"github.com/dominikbraun/graph"
@@ -926,7 +927,11 @@ func (c *DiggerConfig) GetModifiedProjects(changedFiles []string) ([]Project, ma
926927
includePatterns := project.IncludePatterns
927928
excludePatterns := project.ExcludePatterns
928929

929-
includePatterns = append(includePatterns, filepath.Join(project.Dir, "*"))
930+
if !project.Terragrunt {
931+
includePatterns = append(includePatterns, filepath.Join(project.Dir, "**", "*"))
932+
} else {
933+
includePatterns = append(includePatterns, filepath.Join(project.Dir, "*"))
934+
}
930935

931936
// all our patterns are the globale dir pattern + the include patterns specified by user
932937
if MatchIncludeExcludePatternsToFile(changedFile, includePatterns, excludePatterns) {

libs/digger_config/digger_config_test.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1317,9 +1317,24 @@ func TestGetModifiedProjectsReturnsCorrectSourceMappingWithDotFile(t *testing.T)
13171317
Projects: projects,
13181318
}
13191319
//expectedImpactingLocations := map[string]ProjectToSourceMapping{}
1320+
// TODO: this behaviour doesn't make much sense, we should re-evaluate when we make it configurable
1321+
impactedProjects, _ := c.GetModifiedProjects(changedFiles)
1322+
assert.Equal(t, 1, len(impactedProjects))
1323+
}
13201324

1325+
func TestShouldDetectNestedFilesAsImpacted(t *testing.T) {
1326+
changedFiles := []string{"services/backend/files/config.json"}
1327+
projects := []Project{
1328+
Project{
1329+
Name: "services_backend",
1330+
Dir: "services/backend",
1331+
},
1332+
}
1333+
c := DiggerConfig{
1334+
Projects: projects,
1335+
}
13211336
impactedProjects, _ := c.GetModifiedProjects(changedFiles)
1322-
assert.Equal(t, 0, len(impactedProjects))
1337+
assert.Equal(t, 1, len(impactedProjects))
13231338
}
13241339

13251340
func TestGetModifiedProjectsReturnsCorrectSourceMapping(t *testing.T) {

0 commit comments

Comments
 (0)