Skip to content

Commit c095cda

Browse files
authored
Merge pull request #1059 from cloudflare/issue-631
Move include/exclude from ci to parser
2 parents d1ca76c + a41b5f2 commit c095cda

30 files changed

+171
-99
lines changed

.github/pint/pint.hcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
ci {
1+
parser {
22
include = [".github/pint/rules/.*"]
33
}

cmd/pint/ci.go

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"fmt"
77
"log/slog"
88
"os"
9-
"regexp"
109
"strconv"
1110
"strings"
1211
"time"
@@ -64,16 +63,6 @@ func actionCI(c *cli.Context) error {
6463
return err
6564
}
6665

67-
includeRe := []*regexp.Regexp{}
68-
for _, pattern := range meta.cfg.CI.Include {
69-
includeRe = append(includeRe, regexp.MustCompile("^"+pattern+"$"))
70-
}
71-
72-
excludeRe := []*regexp.Regexp{}
73-
for _, pattern := range meta.cfg.CI.Exclude {
74-
excludeRe = append(excludeRe, regexp.MustCompile("^"+pattern+"$"))
75-
}
76-
7766
meta.cfg.CI = detectCI(meta.cfg.CI)
7867
baseBranch := meta.cfg.CI.BaseBranch
7968
if c.String(baseBranchFlag) != "" {
@@ -92,7 +81,11 @@ func actionCI(c *cli.Context) error {
9281
slog.Info("Finding all rules to check on current git branch", slog.String("base", baseBranch))
9382

9483
var entries []discovery.Entry
95-
filter := git.NewPathFilter(includeRe, excludeRe, meta.cfg.Parser.CompileRelaxed())
84+
filter := git.NewPathFilter(
85+
config.MustCompileRegexes(meta.cfg.Parser.Include...),
86+
config.MustCompileRegexes(meta.cfg.Parser.Exclude...),
87+
config.MustCompileRegexes(meta.cfg.Parser.Relaxed...),
88+
)
9689

9790
entries, err = discovery.NewGlobFinder([]string{"*"}, filter).Find()
9891
if err != nil {

cmd/pint/lint.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ func actionLint(c *cli.Context) error {
6363
}
6464

6565
slog.Info("Finding all rules to check", slog.Any("paths", paths))
66-
finder := discovery.NewGlobFinder(paths, git.NewPathFilter(nil, nil, meta.cfg.Parser.CompileRelaxed()))
66+
finder := discovery.NewGlobFinder(paths, git.NewPathFilter(
67+
config.MustCompileRegexes(meta.cfg.Parser.Include...),
68+
config.MustCompileRegexes(meta.cfg.Parser.Exclude...),
69+
config.MustCompileRegexes(meta.cfg.Parser.Relaxed...),
70+
))
6771
entries, err := finder.Find()
6872
if err != nil {
6973
return err

cmd/pint/tests/0065_ci_include.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ stderr 'level=DEBUG msg="Skipping file due to include/exclude rules" path=b.yml'
3737
-- src/.pint.hcl --
3838
ci {
3939
baseBranch = "main"
40-
include = ["xxx"]
4140
}
4241
parser {
42+
include = ["xxx"]
4343
relaxed = [".*"]
4444
}

cmd/pint/tests/0071_ci_owner.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ groups:
5656

5757
-- src/.pint.hcl --
5858
ci {
59-
include = [".+.yml"]
6059
baseBranch = "main"
6160
}
61+
parser {
62+
include = [".+.yml"]
63+
}
6264
repository {
6365
bitbucket {
6466
uri = "http://127.0.0.1:6071"

cmd/pint/tests/0076_ci_group_errors.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ groups:
7575
-- src/.pint.hcl --
7676
ci {
7777
baseBranch = "main"
78+
}
79+
parser {
7880
include = [".+.yml"]
7981
}
8082
repository {

cmd/pint/tests/0098_rule_file_symlink_gh.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ ci {
5353
repository {
5454
github {
5555
baseuri = "http://127.0.0.1:6098"
56-
uploaduri = "http://127.0.0.1:6098"
56+
uploaduri = "http://127.0.0.1:6098"
5757
owner = "cloudflare"
5858
repo = "pint"
5959
}

cmd/pint/tests/0118_ci_dir_move.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ ci {
4646
repository {
4747
github {
4848
baseuri = "http://127.0.0.1:6118"
49-
uploaduri = "http://127.0.0.1:6118"
49+
uploaduri = "http://127.0.0.1:6118"
5050
owner = "cloudflare"
5151
repo = "pint"
5252
}

cmd/pint/tests/0123_ci_owner_allowed.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ owners {
6565
}
6666
ci {
6767
baseBranch = "main"
68+
}
69+
parser {
6870
include = [".+.yml"]
6971
}
7072
repository {

cmd/pint/tests/0139_ci_exclude.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ stderr 'level=DEBUG msg="Skipping file due to include/exclude rules" path=b.yml'
3737
-- src/.pint.hcl --
3838
ci {
3939
baseBranch = "main"
40-
exclude = [".*.yml"]
4140
}
4241
parser {
42+
exclude = [".*.yml"]
4343
relaxed = [".*"]
4444
}

0 commit comments

Comments
 (0)