pint.ok -l debug --no-color lint rules
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=info msg="Loading configuration file" path=.pint.hcl
level=info msg="File parsed" path=rules/0001.yml rules=3
level=debug msg="Starting query workers" name=disabled uri=http://127.0.0.1:123 workers=16
level=debug msg="Found alerting rule" alert=first lines=1-3 path=rules/0001.yml
level=debug msg="Configured checks for rule" enabled=["promql/syntax","alerts/for","alerts/comparison","alerts/template","promql/fragile","promql/regexp"] path=rules/0001.yml rule=first
level=debug msg="Found recording rule" lines=5-6 path=rules/0001.yml record=second
level=debug msg="Configured checks for rule" enabled=["promql/syntax","alerts/for","alerts/comparison","alerts/template","promql/fragile","promql/regexp","promql/aggregate(job:true)"] path=rules/0001.yml rule=second
level=debug msg="Found alerting rule" alert=third lines=8-9 path=rules/0001.yml
level=debug msg="Configured checks for rule" enabled=["promql/syntax","alerts/for","alerts/comparison","alerts/template","promql/fragile","promql/regexp"] path=rules/0001.yml rule=third
rules/0001.yml:6: job label is required and should be preserved when aggregating "^.+$" rules, use by(job, ...) (promql/aggregate)
 6 |   expr: sum(bar)

level=info msg="Problems found" Warning=1
level=debug msg="Stopping query workers" name=disabled uri=http://127.0.0.1:123
-- rules/0001.yml --
- alert: first
  expr: foo > 1
  for: 1m

- record: second
  expr: sum(bar)

- alert: third
  expr: count(foo) > 0

-- invalid/rules/0001.yml --
- alert: first
  expr: foo > 1
  for: 1m
-- .pint.hcl --
parser {
  relaxed = [".*"]
}
prometheus "disabled" {
  uri     = "http://127.0.0.1:123"
  timeout = "5s"
  required = true
  include  = ["invalid/.+"]
  exclude  = ["invalid/rules/.+"]
}
rule {
    match {
      kind = "recording"
    }
    aggregate ".+" {
        keep = [ "job" ]
    }
}
