Skip to content

Add concurrency control + self-CI validation to shared workflows - #19

Open
ClaudiaFang wants to merge 5 commits into
mainfrom
ci/shared-workflow-concurrency-and-self-ci
Open

Add concurrency control + self-CI validation to shared workflows#19
ClaudiaFang wants to merge 5 commits into
mainfrom
ci/shared-workflow-concurrency-and-self-ci

Conversation

@ClaudiaFang

Copy link
Copy Markdown
Member

Summary

  • Adds a top-level concurrency: block to .github/workflows/obsidian-plugin-ci.yml (the shared, workflow_call-triggered Obsidian plugin CI template). Previously this reusable workflow had zero dedup for its consumers, meaning rapid pushes to the same branch would queue/run independently, and in principle two near-simultaneous pushes to main could both clear the release-metadata job's needs: [filter, lint, test] gate close together and race npx semantic-release. The group is keyed by github.repository (since multiple repos share this template) and branch, scoped separately per event type (push vs PR), matching the convention already used in _pg-migration-deploy.yml.
  • Adds .github/workflows/self-ci.yml — this repo previously had no self-CI at all validating its own reusable workflow files. The new workflow runs actionlint via reviewdog/action-actionlint@v1 on push/PR to .github/workflows/**, to catch YAML/syntax/expression errors before they reach consumer repos. It has its own concurrency group (keyed by self-ci-...) so it doesn't collide with Change 1's group.

This is part of a cross-repo CI architecture review across firstsun-dev repos.

Test plan

  • python3 -c "import yaml,sys; yaml.safe_load(open(sys.argv[1]))" confirms both obsidian-plugin-ci.yml and self-ci.yml are syntactically valid YAML.
  • self-ci.yml's actionlint job will run automatically on this PR (paths touch .github/workflows/**) and should pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_011zVvyzHgtk7C51dpi8CGrp

…CI validation

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zVvyzHgtk7C51dpi8CGrp
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