Skip to content

feat(apm): activate apm-sync on the .github consumer#195

Merged
DevSecNinja merged 2 commits into
mainfrom
feat/apm-sync-caller
Jun 21, 2026
Merged

feat(apm): activate apm-sync on the .github consumer#195
DevSecNinja merged 2 commits into
mainfrom
feat/apm-sync-caller

Conversation

@DevSecNinja

Copy link
Copy Markdown
Owner

What

Activates the apm-sync flow by wiring this repo (the first real APM consumer) into the central apm-sync reusable shipped in v1.8.0 (#194/#188).

.github already apm installed DevSecNinja/ai-toolkit (pinned #v0.1.1 in apm.yml), but ai-toolkit has since shipped v0.2.0+ (skill, MCP servers, agent). This caller runs apm update weekly (or on dispatch) and opens a chore: sync APM primitives PR when upstream changed.

Details

  • Self-reference pinned to the v1.8.0 tag SHA, with # v1.8.0 comment + re-pin note — matching the release-please-caller.yml convention in this repo.
  • Uses the App identity (RELEASE_PLEASE_APP_ID / RELEASE_PLEASE_APP_PRIVATE_KEY) so the sync PR triggers required CI — same secrets as release-please.
  • apm-version pinned + Renovate-tracked via microsoft/apm GitHub releases (the reusable installs the CLI from the official aka.ms installer).
  • Weekly schedule + workflow_dispatch for on-demand runs.

How to verify

After merge, trigger Actions → APM Sync → Run workflow. Expected: it installs apm, runs apm update, and (because the pinned #v0.1.1 is behind v0.2.0) opens a PR bumping apm.yml/apm.lock.yaml and redeploying the refreshed primitives into .github/.

Note: the APM-deployed files were already excluded from the linters in #194's follow-up, so the resulting sync PR won't trip yamllint/dprint.

Follow-up

Other consumer repos can adopt the same caller via docs/apm-sync-onboarding.md (they'd use the external pinned form rather than this self-reference).

Wire this repo into the central apm-sync reusable (v1.8.0). On a weekly
schedule or manual dispatch it runs `apm update` against apm.yml's
DevSecNinja/ai-toolkit dependency and opens a PR when upstream primitives
changed — activating the apm-sync flow on its first real consumer.

Uses the App identity (RELEASE_PLEASE_APP_ID / _PRIVATE_KEY) so required CI
fires on the sync PR, matching the release-please caller pattern.
The apm-sync reusable installs the CLI from the official aka.ms installer
(microsoft/apm GitHub release), so the Renovate datasource for apm-version
should be github-releases on microsoft/apm, not pypi.
@DevSecNinja DevSecNinja merged commit ec157a4 into main Jun 21, 2026
16 checks passed
@DevSecNinja DevSecNinja deleted the feat/apm-sync-caller branch June 21, 2026 14:18
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