Skip to content

Fix sync-plugin-specs workflow self-triggering with no plugins/ - #120

Merged
nsheaps merged 1 commit into
mainfrom
fix/sync-plugin-specs-guard
Aug 12, 2026
Merged

nsheaps merged 1 commit into
mainfrom
fix/sync-plugin-specs-guard

Conversation

@nsheaps

@nsheaps nsheaps commented Aug 12, 2026

Copy link
Copy Markdown
Owner

What was broken

Run 31361763759 — the sync-specs job in .github/workflows/sync-plugin-specs.yaml failed:

sync.sh: line 31: cd: /home/runner/work/github-actions/github-actions/plugins: No such file or directory

Why

nsheaps/github-actions is a repo of reusable GitHub Actions/workflows — it has no plugins/ directory (confirmed: repo root contains .claude, .github, .mise, pages, etc., no plugins/).

This workflow file is meant to be a reusable workflow (workflow_call) invoked by consumer repos that do have a plugins/ directory — nsheaps/ai-mktpl and nsheaps/agents both have their own copy of this file (synced from the nsheaps/.github ansible template) that calls it via:

uses: nsheaps/github-actions/.github/workflows/sync-plugin-specs.yaml@<sha> # main

However, this repo's copy of the workflow also carried its own push, schedule (0 6 * * 1), and workflow_dispatch triggers in addition to workflow_call. Those direct triggers cause the workflow to fire against nsheaps/github-actions itself every Monday (and on manual dispatch), checking out this repo — which has no plugins/ dir — and failing at sync.sh's cd "$PLUGINS_DIR".

Fix

Remove the push, schedule, and workflow_dispatch triggers from on:, leaving only workflow_call. This restores the file to a pure reusable-workflow definition, callable only by consumer repos that actually have a plugins/ directory to sync — matching how ai-mktpl and agents already invoke it.

No changes to sync.sh or the composite action itself — this repo should never run the sync directly on its own tree.

Test plan

  • CI passes on this PR (no plugin-related paths, no diff to sync.sh/composite action)
  • After merge, confirm the workflow no longer appears in the repo's Actions schedule/dispatch list, and that ai-mktpl/agents workflow_call invocations are unaffected (they call by SHA/ref, not by trigger type)

Generated by Claude Code

This repo has no plugins/ directory (it hosts reusable actions, not
plugins), but the workflow carried push/schedule/workflow_dispatch
triggers in addition to workflow_call, causing it to fire directly
against this repo and fail at `cd plugins` in sync.sh.

Remove the direct triggers so this file is purely a reusable workflow,
invoked only via workflow_call by consumer repos (ai-mktpl, agents)
that actually have a plugins/ directory.
@nsheaps
nsheaps marked this pull request as ready for review August 12, 2026 03:06
@nsheaps
nsheaps merged commit 1e12939 into main Aug 12, 2026
2 checks passed
@nsheaps
nsheaps deleted the fix/sync-plugin-specs-guard branch August 12, 2026 03:07
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