From 3737514f597230e21ecc6fa8f2d5287ef797c9f7 Mon Sep 17 00:00:00 2001 From: Human Date: Thu, 4 Jun 2026 23:39:21 -0700 Subject: [PATCH 1/2] update to workflow to require changelog updates in order for ci to pass --- .github/workflows/ci.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8ba062..769998b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,28 @@ on: pull_request: jobs: + # --------------------------------------------------------------------------- + # Changelog enforcement + # --------------------------------------------------------------------------- + changelog: + name: Changelog updated + runs-on: ubuntu-latest + if: github.event_name == 'pull_request' + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Check CHANGELOG updated + if: "!contains(github.event.pull_request.labels.*.name, 'skip-changelog')" + run: | + git fetch origin main --depth=1 + if ! git diff --name-only origin/main...HEAD | grep -q "^CHANGELOG.md$"; then + echo "Error: CHANGELOG.md was not updated in this PR." >&2 + echo "Add the 'skip-changelog' label if this PR needs no entry." >&2 + exit 1 + fi + # --------------------------------------------------------------------------- # Static analysis # --------------------------------------------------------------------------- From c8c5a9261cb24f579e0c6a7751f6e33a6d0617e0 Mon Sep 17 00:00:00 2001 From: Human Date: Thu, 4 Jun 2026 23:45:58 -0700 Subject: [PATCH 2/2] Fix skip-changelog label check to run at job level instead of step level --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 769998b..8f0a843 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,14 +11,13 @@ jobs: changelog: name: Changelog updated runs-on: ubuntu-latest - if: github.event_name == 'pull_request' + if: github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'skip-changelog') steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Check CHANGELOG updated - if: "!contains(github.event.pull_request.labels.*.name, 'skip-changelog')" run: | git fetch origin main --depth=1 if ! git diff --name-only origin/main...HEAD | grep -q "^CHANGELOG.md$"; then