Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c44dfdc
build: integrate prek
rmuir Jan 29, 2026
1e0e157
fix: add missing job dependencies
rmuir Jan 29, 2026
b824ac3
fix: remove leading / from cache-dependency glob so that it works
rmuir Jan 29, 2026
73f8a48
fix: don't require a license for build configuration file
rmuir Jan 29, 2026
c4346c4
build: replace AstGrepPlugin with prek
rmuir Jan 29, 2026
8418dcb
ci: remove ast-grep installation via npm, handled by prek now
rmuir Jan 29, 2026
df1766b
perf: optimize to only the filetypes used by checker
rmuir Jan 29, 2026
48579bd
build: python autofix/reformat support
rmuir Jan 29, 2026
1247219
ci: add matchers for ruff lint/format
rmuir Jan 29, 2026
bfa772d
build: markdown lint/format with autofix
rmuir Jan 29, 2026
a5e4a09
build: remove unnecessary ast-grep check, ruff takes care
rmuir Jan 29, 2026
1412f70
docs: add precommit documentation and fix ast-grep instructions
rmuir Jan 29, 2026
d640983
docs: link helpfile
rmuir Jan 29, 2026
f14412f
build: configure yaml verification correctly rather than exclude
rmuir Jan 29, 2026
9314533
build: add prek self-checks
rmuir Jan 29, 2026
364be0b
Merge branch 'main' into prek
rmuir Jan 30, 2026
9738377
docs: make transparent what happens in CI
rmuir Jan 30, 2026
c5d6496
docs: link to sources and docs of prek tool in use
rmuir Jan 30, 2026
61d36fe
docs: add CHANGES.txt entry
rmuir Jan 30, 2026
1e0a9b4
docs: improve changelog
rmuir Jan 30, 2026
2c3678e
build: support parallel processing of checks
rmuir Jan 31, 2026
46b318e
docs: fix comment around require_serial and use for other rust hooks
rmuir Jan 31, 2026
d505d32
docs: add help display command to changes entry
rmuir Jan 31, 2026
c0bfff8
build: set UV_FROZEN everywhere so that lockfile is not modified
rmuir Jan 31, 2026
74006ed
build: declare a minimum version in prek configuration file.
rmuir Jan 31, 2026
60accd8
ci: also display diff of any reformats/fixes on failure
rmuir Jan 31, 2026
d117637
build: bump fixes for all precommit deps
rmuir Jan 31, 2026
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
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,18 @@ updates:
cooldown:
default-days: 7

# python dependencies in /dev-tools
- package-ecosystem: uv
directory: /dev-tools/
open-pull-requests-limit: 25
schedule:
interval: monthly
commit-message:
prefix: build(deps)
labels: [dependencies, skip-changelog]
cooldown:
default-days: 7

- package-ecosystem: gradle
directory: /
open-pull-requests-limit: 25
Expand Down
17 changes: 17 additions & 0 deletions .github/problem-matchers/actionlint-matcher.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "actionlint",
"pattern": [
{
"regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$",
"file": 1,
"line": 2,
"column": 3,
"message": 4,
"code": 5
}
]
}
]
}
17 changes: 17 additions & 0 deletions .github/problem-matchers/ruff-check.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "ruff-check",
"pattern": [
{
"code": 4,
"column": 3,
"file": 1,
"line": 2,
"message": 5,
"regexp": "^Error: (.*):(\\d+):(\\d+): (\\w+) (.*)$"
}
]
}
]
}
20 changes: 20 additions & 0 deletions .github/problem-matchers/ruff-format.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"problemMatcher": [
{
"owner": "ruff-format",
"pattern": [
{
"code": 2,
"column": 5,
"endColumn": 7,
"endLine": 6,
"file": 3,
"line": 4,
"message": 8,
"regexp": "^(?:(error|warning|notice))\\s+title=([^,]+),file=([^,]+),line=(\\d+),col=(\\d+)(?:,endLine=(\\d+))?(?:,endColumn=(\\d+))?::(.+)$",
"severity": 1
}
]
}
]
}
18 changes: 18 additions & 0 deletions .github/problem-matchers/shellcheck-gcc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"problemMatcher": [
{
"owner": "shellcheck-gcc",
"pattern": [
{
"regexp": "^(.+):(\\d+):(\\d+):\\s(note|warning|error):\\s(.*)\\s\\[(SC\\d+)\\]$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5,
"code": 6
}
]
}
]
}
25 changes: 1 addition & 24 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,14 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Validate Actions
name: Validate Actions (online checks)
on:
workflow_dispatch:
pull_request:
paths:
- '.github/**'
push:
branches:
- main
paths:
- '.github/**'
schedule:
- cron: '22 2 * * *'

permissions: {}

jobs:
actionlint:
name: Run actionlint
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- name: Install the latest version of uv
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
- name: Check workflows with actionlint
run: uvx --from actionlint-py actionlint -color
zizmor:
name: Run zizmor
runs-on: ubuntu-latest
Expand All @@ -47,8 +26,6 @@ jobs:
run: uvx zizmor --pedantic --format=sarif . > results.sarif
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run offline for branches and PRs to avoid rate limits
ZIZMOR_OFFLINE: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
with:
Expand Down
43 changes: 37 additions & 6 deletions .github/workflows/run-checks-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,47 @@ env:
# the other runs all tests without other validation checks.

jobs:
# Fast repository check
lint:
name: lint repository
runs-on: ubuntu-slim
timeout-minutes: 15

steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false

- name: Configure problem matchers
run: |
echo "::add-matcher::.github/problem-matchers/actionlint-matcher.json"
echo "::add-matcher::.github/problem-matchers/ruff-check.json"
echo "::add-matcher::.github/problem-matchers/ruff-format.json"
echo "::add-matcher::.github/problem-matchers/shellcheck-gcc.json"

- name: Setup uv
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
with:
version: "0.9.27"
enable-cache: true
prune-cache: false
save-cache: ${{ github.event_name != 'pull_request' }}
cache-dependency-glob: dev-tools/uv.lock
cache-suffix: dev-tools

- name: Run prek
run: uv run prek --all-files --show-diff-on-failure
env:
UV_PROJECT: dev-tools
UV_FROZEN: "1"


# This runs all validation checks without tests.
checks:
name: checks without tests (JDK ${{ matrix.java }} on ${{ matrix.os }})
timeout-minutes: 15
needs: lint

strategy:
matrix:
Expand All @@ -54,12 +90,6 @@ jobs:
if: ${{ ! startsWith(matrix.os, 'windows') }}
uses: ./.github/actions/eclint

- name: Install ast-grep
if: ${{ ! startsWith(matrix.os, 'windows') }}
run: |
npm -g i @ast-grep/cli
echo "lucene.tool.ast-grep=ast-grep" >> build-options.local.properties

- name: Run gradle check (without tests)
run: ./gradlew check -x test "-Ptask.times=true"

Expand All @@ -68,6 +98,7 @@ jobs:
tests:
name: tests (JDK ${{ matrix.java }} on ${{ matrix.os }})
timeout-minutes: 30
needs: lint

strategy:
matrix:
Expand Down
Loading