diff --git a/provisioner/terraform/modules.go b/provisioner/terraform/modules.go index 363afe3f40fc0..e0da5f1578069 100644 --- a/provisioner/terraform/modules.go +++ b/provisioner/terraform/modules.go @@ -103,6 +103,13 @@ func GetModulesArchive(root fs.FS) ([]byte, error) { if !fileMode.IsRegular() && !fileMode.IsDir() { return nil } + + // .git directories are not needed in the archive and only cause + // hash differences for identical modules. + if fileMode.IsDir() && d.Name() == ".git" { + return fs.SkipDir + } + fileInfo, err := d.Info() if err != nil { return xerrors.Errorf("failed to archive module file %q: %w", filePath, err)