From a80f70ef013ee3d3ff38dbd1b1aaadafabdf45ab Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 12 May 2026 13:19:52 +0200 Subject: [PATCH 1/3] Run changelog validation in a single job --- .github/workflows/lint-build-test.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 7035a90e6e..e810a0c601 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -58,21 +58,20 @@ jobs: exit 1 fi - validate-changelog: - name: Validate changelog + validate-changelogs: + name: Validate changelogs runs-on: ubuntu-latest needs: prepare strategy: matrix: node-version: [24.x] - package-name: ${{ fromJson(needs.prepare.outputs.child-workspace-package-names) }} steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v2 with: is-high-risk-environment: false node-version: ${{ matrix.node-version }} - - run: yarn workspace ${{ matrix.package-name }} changelog:validate + - run: yarn changelog:validate - name: Require clean working directory shell: bash run: | From 6e97247d04906f23f28f6abfb425d3421e50bfeb Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 12 May 2026 13:24:48 +0200 Subject: [PATCH 2/3] Move script to lint step --- .github/workflows/lint-build-test.yml | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index e810a0c601..0734bc2b6d 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -40,6 +40,7 @@ jobs: - lint:teams - messenger-action-types:check - readme-content:check + - changelog:validate steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v2 @@ -58,28 +59,6 @@ jobs: exit 1 fi - validate-changelogs: - name: Validate changelogs - runs-on: ubuntu-latest - needs: prepare - strategy: - matrix: - node-version: [24.x] - steps: - - name: Checkout and setup environment - uses: MetaMask/action-checkout-and-setup@v2 - with: - is-high-risk-environment: false - node-version: ${{ matrix.node-version }} - - run: yarn changelog:validate - - name: Require clean working directory - shell: bash - run: | - if ! git diff --exit-code; then - echo "Working tree dirty at end of job" - exit 1 - fi - validate-changelog-diffs: name: Validate changelog diffs if: github.event_name == 'pull_request' || github.event_name == 'merge_group' From 54f884dc0a220af75ad64dfa6a80931b32295b5d Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 12 May 2026 13:34:49 +0200 Subject: [PATCH 3/3] Validate changelogs and continue on error --- .github/workflows/lint-build-test.yml | 34 ++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 0734bc2b6d..327812ad6b 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -40,7 +40,6 @@ jobs: - lint:teams - messenger-action-types:check - readme-content:check - - changelog:validate steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v2 @@ -59,6 +58,39 @@ jobs: exit 1 fi + validate-changelogs: + name: Validate changelogs + runs-on: ubuntu-latest + needs: prepare + strategy: + matrix: + node-version: [24.x] + steps: + - name: Checkout and setup environment + uses: MetaMask/action-checkout-and-setup@v2 + with: + is-high-risk-environment: false + node-version: ${{ matrix.node-version }} + - name: Validate changelogs + env: + CHILD_WORKSPACE_PACKAGE_NAMES: ${{ needs.prepare.outputs.child-workspace-package-names }} + run: | + EXIT_CODE=0 + for package_name in $(echo "$CHILD_WORKSPACE_PACKAGE_NAMES" | jq --raw-output '.[]'); do + echo "Validating changelog for $package_name" + if ! yarn workspace "$package_name" run changelog:validate; then + EXIT_CODE=1 + fi + done + exit "$EXIT_CODE" + - name: Require clean working directory + shell: bash + run: | + if ! git diff --exit-code; then + echo "Working tree dirty at end of job" + exit 1 + fi + validate-changelog-diffs: name: Validate changelog diffs if: github.event_name == 'pull_request' || github.event_name == 'merge_group'