Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .claude/hooks/lint-changed.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ mapfile -t tf_files < <(select_files '\.tf$')
mapfile -t docker_files < <(select_files '(^|/)Dockerfile[^/]*$')
mapfile -t compose_files < <(select_files '(^|/)(docker-)?compose[^/]*\.ya?ml$')
mapfile -t groovy_files < <(select_files '\.groovy$')
mapfile -t test_files < <(select_files '\.(js|ts)$')

# TypeScript: each Playwright workspace owns its eslint + tsconfig, so lint the
# whole workspace rather than the individual files.
Expand Down Expand Up @@ -123,4 +124,24 @@ if [ ${#groovy_files[@]} -gt 0 ]; then
npm-groovy-lint --failon error --files "$(printf '%s,' "${groovy_files[@]}" | sed 's/,$//')" || fail "npm-groovy-lint"
fi

# A skip parked with `skip-until: YYYY-MM-DD` becomes a lint failure on that
# date, so a temporary skip cannot quietly become permanent. CI passes every
# tracked file, so once a date is reached every PR fails here until the skip is
# revisited or the date is deliberately moved. Only skips that opted in by
# carrying the marker are checked.
if [ ${#test_files[@]} -gt 0 ]; then
echo "==> skip-until expiry"
mapfile -t expired < <(
grep -HnoE 'skip-until:[[:space:]]*[0-9]{4}-[0-9]{2}-[0-9]{2}' "${test_files[@]}" 2>/dev/null |
awk -v today="$(date -u +%F)" '
match($0, /[0-9]{4}-[0-9]{2}-[0-9]{2}/) {
d = substr($0, RSTART, RLENGTH)
if (d "" <= today "") print $0
}'
)
for hit in "${expired[@]}"; do
[ -n "$hit" ] && fail "skip-until date reached -- revisit the skip or move the date: $hit"
done
fi

exit $rc
4 changes: 4 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
push:
branches:
- main
# Weekly, so a skip-until date that passes during a quiet week still surfaces
# instead of waiting for the next PR.
schedule:
- cron: '0 7 * * 1'
workflow_dispatch:

permissions:
Expand Down
3 changes: 2 additions & 1 deletion codeceptjs-e2e/tests/verifyVMDashboards_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ Before(async ({ I }) => {
await I.Authorize();
});

Scenario(
// skip-until: 2026-09-29 -- cardinality panels removed by percona/pmm#5822; unskip via pmm-qa#1275, or when the panels return.
Scenario.skip(
Comment thread
travagliad marked this conversation as resolved.
'PMM-T506 - Verify metrics on VictoriaMetrics dashboard @nightly @dashboards @gssapi-nightly',
async ({ I, dashboardPage }) => {
I.amOnPage(dashboardPage.victoriaMetricsDashboard.url);
Expand Down
Loading