From 3871c89a17d83a60a9b4297886bb0abb7ddc3951 Mon Sep 17 00:00:00 2001 From: "Sean T. Allen" Date: Sun, 1 Mar 2026 08:05:59 -0500 Subject: [PATCH] Split PR CI into hygiene and code workflows Markdown-only, YAML-only, or Dockerfile-only changes don't need to run the full build/test matrix. Separate superlinter and verify-changelog into pr-repo-hygiene.yml (always runs) and add path filters to pr.yml so build/test jobs are skipped for non-code changes. --- .github/workflows/pr-repo-hygiene.yml | 36 +++++++++++++++++++++++++++ .github/workflows/pr.yml | 34 ++++++------------------- 2 files changed, 44 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/pr-repo-hygiene.yml diff --git a/.github/workflows/pr-repo-hygiene.yml b/.github/workflows/pr-repo-hygiene.yml new file mode 100644 index 0000000..b2ea0f8 --- /dev/null +++ b/.github/workflows/pr-repo-hygiene.yml @@ -0,0 +1,36 @@ +name: Repository Hygiene + +on: pull_request + +concurrency: + group: pr-repo-hygiene-${{ github.ref }} + cancel-in-progress: true + +permissions: + packages: read + +jobs: + superlinter: + name: Lint bash, docker, markdown, and yaml + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.1.1 + - name: Lint codebase + uses: docker://github/super-linter:v3.8.3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VALIDATE_ALL_CODEBASE: true + VALIDATE_BASH: true + VALIDATE_DOCKERFILE: true + VALIDATE_MD: true + VALIDATE_YAML: true + + verify-changelog: + name: Verify CHANGELOG is valid + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.1.1 + - name: Verify CHANGELOG + uses: docker://ghcr.io/ponylang/changelog-tool:release + with: + args: changelog-tool verify diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index a17ebe1..522df62 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,6 +1,13 @@ name: PR -on: pull_request +on: + pull_request: + paths: + - '**' + - '!**/*.md' + - '!**/*.yml' + - '!**/*.yaml' + - '.github/workflows/pr.yml' concurrency: group: pr-${{ github.ref }} @@ -10,31 +17,6 @@ permissions: packages: read jobs: - superlinter: - name: Lint bash, docker, markdown, and yaml - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - - name: Lint codebase - uses: docker://github/super-linter:v3.8.3 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VALIDATE_ALL_CODEBASE: true - VALIDATE_BASH: true - VALIDATE_DOCKERFILE: true - VALIDATE_MD: true - VALIDATE_YAML: true - - verify-changelog: - name: Verify CHANGELOG is valid - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - - name: Verify CHANGELOG - uses: docker://ghcr.io/ponylang/changelog-tool:release - with: - args: changelog-tool verify - vs-ponyc-release-linux: name: Test against recent ponyc release on Linux runs-on: ubuntu-latest