Skip to content

benchmark.yml workflow triggers unnecessarily on non-benchmark-related pushes to master #1196

Description

@volodya-lombrozo

I cannot keep the PR queue clean because benchmark.yml (.github/workflows/benchmark.yml:6-10) triggers on nearly every push to master — it only excludes README.md and .github via paths-ignore — and opens a new "New benchmark results" PR each time (e.g. #1163), even when the push has nothing to do with lint performance. Each of these PRs then needs a manual @rultor merge, which is happening multiple times a day.

Proposed Solution

Replace the paths-ignore denylist with a paths allowlist scoped to the code that actually affects lint timing:

on:
  push:
    branches:
      - master
    paths:
      - 'src/main/**'

pom.xml is deliberately left out — it's touched by nearly every dependency bump (renovate/dependabot), which rarely changes lint execution timing, and including it would keep the workflow firing almost as often as today. This keeps the benchmark fresh whenever lint implementations or XSL rules under src/main/resources change, while skipping docs, tests, dependency-only, and CI-only pushes. Note: GitHub doesn't allow combining paths and paths-ignore on the same trigger, so this replaces the existing filter rather than extending it.

Relevant workflow: .github/workflows/benchmark.yml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood-titleThe title was checked and improved by ChatGPT

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions