Skip to content

ci: the two files that control what CI checks are the two files CI does not watch #164

Description

@LeyckerS

Noticed while merging #161, which added pytest.ini. That pull request arrived with no checks at all — not pending, not skipped, simply absent — and it was correct behaviour.

The gap

.github/workflows/lint.yml triggers on:

paths:
  - "**.py"
  - "requirements.txt"
  - "constraints.txt"
  - ".github/dependabot.yml"
  - ".github/workflows/lint.yml"

docs-cli-check.yml triggers on **.md, **.py and itself.

Two configuration files match neither list:

File What it controls Runs it
ruff.toml line length, and which lint rules are ignored the ruff job
pytest.ini which warnings are suppressed during the suite the no-chrome job

So a pull request that changes only ruff.toml does not run ruff, and one that changes only pytest.ini does not run the tests. The configuration that decides what CI enforces is invisible to CI.

Why this is worth fixing rather than shrugging at

Both files have a plausible bad edit that would sail through with a green tick and no output at all:

Neither would be caught by review alone, because a reviewer looking at a one-line config diff with all checks green has no reason to suspect anything ran differently.

There is a live example already open: #79 asks for a one-line correction to a comment in ruff.toml. Whoever fixes it will get no CI run on their pull request.

The work

Add the two filenames to the paths lists in lint.ymlpush and pull_request both, they are separate lists — so that changing either file runs the job it configures.

Worth thinking about for a moment rather than pasting: docs-cli-check.yml does not need them, and adding filters where they are not needed is its own kind of noise. Say in the pull request why you did or did not touch the second workflow.

Done when

  • A pull request touching only ruff.toml runs the ruff job
  • A pull request touching only pytest.ini runs no-chrome
  • Demonstrate it. Push a trivial change to one of them on your branch — a comment will do — and link the run that fired. This issue is about CI triggering, so an assertion that it now triggers is worth nothing without the run behind it.
  • pytest tests/ -q still green

Small, and no Windows machine needed. #79 and #93 are reserved for first-time contributors; this one is not, so it is fair game for anyone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciContinuous integration and workflowsgood first issueGood for newcomershelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions