Skip to content

fix(#2097): scope QA notify workflow to default branch - #2098

Merged
jung-thomas merged 1 commit into
DEVfrom
fix/2097-notify-qa-branch-filter
Sep 1, 2026
Merged

fix(#2097): scope QA notify workflow to default branch#2098
jung-thomas merged 1 commit into
DEVfrom
fix/2097-notify-qa-branch-filter

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Problem

QA content rebuild #2097 hard-failed with unknown slug in filter: devtoberfest2026-abap-week1-validation.

Root cause: notify-qa.yml (the template copied into every *-Contribution repo) triggers on push: paths: ['tutorials/**'] with no branches: filter. The devtoberfest validation-tutorial bot pushed branch validation-tutorial/devtoberfest2026-abap-week1-validation to developer-advocates-Contribution (PR #179, closed unmerged). The branch push fired notify-qa, which inferred the slug from the changed path and dispatched a QA rebuild. QA discovery reads the default branch, so the branch-only slug is a phantom → hard fail.

Repeatable: every validation-tutorial/* branch push (and any other feature-branch push touching tutorials/**) fails QA the same way. Org scan: all 23 -Contribution repos ship the unfiltered template. The PROD flow is unaffected — every source repo's notify-tutorials-ims.yml already carries the branch filter.

Fix

Bring the QA template to parity with the PROD template (docs/authors/tutorial-repo-dispatch.yml):

  • branches: [master, main] (both — Tutorials-Contribution defaults to master, the rest to main)
  • strict slug-charset guard on the inferred slug
  • new QA-template branch-trigger regression guard mirroring the existing PROD guard

Propagation

Template change alone does not fix the live repos. After merge, propagate with:

tsx scripts/install-notify-workflows.ts --only qa --execute

(idempotent; updates all 23 -Contribution repos, PR-fallback on branch-protected ones).

Clearing the failing issue

One clean full QA rebuild closes #2097:

gh workflow run rebuild-content-qa.yml --repo sap-tutorials/tutorials-ims --ref main

The QA notify template (notify-qa.yml, copied into every *-Contribution
repo) triggered on push to ANY branch (no branches: filter). A push to a
feature branch — e.g. the devtoberfest validation-tutorial bot's
validation-tutorial/* branches — dispatched a QA rebuild for a slug that
existed only on that branch. QA discovery reads the default branch, so the
slug was a phantom and the rebuild hard-failed 'unknown slug in filter'.

Bring the QA template to parity with the PROD template
(docs/authors/tutorial-repo-dispatch.yml):
- add branches: [master, main] (both, since Tutorials-Contribution defaults
  to master while the rest default to main)
- add the strict slug-charset guard on the inferred slug

Add a QA-template branch-trigger regression guard mirroring the PROD one.

All 23 -Contribution repos currently ship the unfiltered template; propagate
via scripts/install-notify-workflows.ts --only qa --execute after merge.
@jung-thomas
jung-thomas merged commit f4363ca into DEV Sep 1, 2026
3 checks passed
@jung-thomas
jung-thomas deleted the fix/2097-notify-qa-branch-filter branch September 1, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant