From a896788bcfac4a739dc27da7b1d38621a78fe0db Mon Sep 17 00:00:00 2001 From: Mohamed Ibrahim Date: Tue, 16 Jun 2026 22:49:51 +0100 Subject: [PATCH] ci: skip the public-API gate on docs/site-only changes api-check.yml ran on every PR, including pure markdown/docs changes that cannot alter the Kotlin public-API surface (the jobs only diff the committed *.api / *.klib.api dumps). Add the same paths-ignore filter build.yml already uses so docs/site-only PRs skip both the api-check (macOS) and api-parity jobs. A PR that also touches code/build files still runs the full gate. Safe because main is unprotected: no required status check exists that a path-filtered skip could leave permanently pending. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/api-check.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/api-check.yml b/.github/workflows/api-check.yml index 744f027..cf6654c 100644 --- a/.github/workflows/api-check.yml +++ b/.github/workflows/api-check.yml @@ -10,8 +10,20 @@ name: Public API check # (issue #12). This is what makes the "swap sharingan-noop in release" safety # story enforceable rather than dependent on human discipline. # Regenerate intentional changes locally with `./gradlew apiDump` and commit. +# +# Docs/site-only changes skip both jobs (paths-ignore): a markdown/CSS edit can't +# alter the Kotlin public-API surface, and these jobs only diff the committed +# *.api / *.klib.api dumps — they never run the library code. Skipping mirrors +# build.yml's docs gate (and is safe because `main` has no required status check +# that a path-filtered skip could leave pending). Any PR that also touches +# code/build files still runs the full API gate. on: pull_request: + paths-ignore: + - "**.md" + - "docs/**" + - "site/**" + - ".github/workflows/pages.yml" workflow_dispatch: permissions: