From 78e8f49e30eab15eb59416941aab776ea412878a Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 2 Aug 2026 14:19:55 +0000 Subject: [PATCH] build(workflows): don't fail `process_metadata` on non-YAML comments The job `Process Metadata` on workflow `process_metadata` failed on develop with `YAMLException: end of the stream or a document separator is expected` at the `Extract metadata` step (three runs, 2026-08-02 12:10:17-12:10:24 UTC, triggered by issue_comment events on the same commit). Root cause: the external `stdlib-js/metadata-action` step tries to parse the triggering comment body as YAML and throws an uncaught exception whenever the body isn't YAML-shaped (e.g., an ordinary markdown/prose bot comment), failing the whole job. This commit adds `continue-on-error: true` to `Extract metadata`, mirroring the existing pattern already used on `assert-write-access` in the same file, and gates the two downstream steps that consume its output (`Send tweets`, `Check metadata for workflow dispatch directives`) on `steps.extract-metadata.outcome == 'success'` so they no longer run against an empty/unset metadata value, so that a non-YAML comment body no longer fails the job. Ref: https://github.com/stdlib-js/stdlib/actions/runs/30747267016 --- .github/workflows/process_metadata.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/process_metadata.yml b/.github/workflows/process_metadata.yml index 5117c9e5a67a..6e650975ffda 100644 --- a/.github/workflows/process_metadata.yml +++ b/.github/workflows/process_metadata.yml @@ -92,11 +92,14 @@ jobs: # Pin action to full length commit SHA uses: stdlib-js/metadata-action@3ccf68f24c51ae23470319e8e5619d539df8212b # v3.0.0 + # Continue with subsequent steps even when this step fails (e.g., due to a non-YAML comment body) in order to "pass" the job and not trigger failure e-mails/notifications: + continue-on-error: true + # Check the metadata for directives to send tweets: - name: 'Send tweets' - # Only run this step if a user has write access: - if: steps.assert-write-access.outcome == 'success' + # Only run this step if a user has write access and metadata was successfully extracted: + if: steps.assert-write-access.outcome == 'success' && steps.extract-metadata.outcome == 'success' # Pin action to full length commit SHA uses: stdlib-js/metadata-tweet-action@8e9b688c86150797c1c7f60bc8f7c9a9a30e10fe # v2.0.0 @@ -111,8 +114,8 @@ jobs: - name: 'Check metadata for workflow dispatch directives' id: check-workflow-dispatch - # Only run this step if a user has write access: - if: steps.assert-write-access.outcome == 'success' + # Only run this step if a user has write access and metadata was successfully extracted: + if: steps.assert-write-access.outcome == 'success' && steps.extract-metadata.outcome == 'success' env: METADATA: ${{ steps.extract-metadata.outputs.metadata }}