Add commit-level Plane ticket linking to CI #5

Merged
chris merged 2 commits from feature/plane-commit-sync into main 2026-09-03 07:17:59 -06:00
Owner

Summary

  • Adds a sync-commits job to .forgejo/workflows/plane-sync.yml, triggered on push to any non-main branch.
  • For each pushed commit whose message contains a DS-<n> ticket key, posts a comment on that ticket linking straight to the commit in Forgejo (reuses the existing PLANE_API_KEY account secret).
  • Complements the existing sync job (posts a merge comment + moves to Done) with commit-level breadcrumbs while work is still in progress.
  • Scoped to non-main pushes so the same commits are not re-posted when the branch later merges into main.

Test plan

  • YAML parses (python3 -c "import yaml; yaml.safe_load(...)")
  • node --check on the extracted embedded script
  • Dry-run of the matching/comment-building logic against a mocked fetch (no match, single match, multiple tickets in one message, HTML-escaping)
  • Once merged, push a real commit referencing an existing DS ticket and confirm a comment lands on it in Plane
## Summary - Adds a `sync-commits` job to `.forgejo/workflows/plane-sync.yml`, triggered on push to any non-main branch. - For each pushed commit whose message contains a `DS-<n>` ticket key, posts a comment on that ticket linking straight to the commit in Forgejo (reuses the existing `PLANE_API_KEY` account secret). - Complements the existing `sync` job (posts a merge comment + moves to Done) with commit-level breadcrumbs while work is still in progress. - Scoped to non-main pushes so the same commits are not re-posted when the branch later merges into main. ## Test plan - [x] YAML parses (`python3 -c "import yaml; yaml.safe_load(...)"`) - [x] `node --check` on the extracted embedded script - [x] Dry-run of the matching/comment-building logic against a mocked `fetch` (no match, single match, multiple tickets in one message, HTML-escaping) - [ ] Once merged, push a real commit referencing an existing DS ticket and confirm a comment lands on it in Plane
Add commit-level Plane ticket linking to plane-sync workflow
Some checks failed
plane-sync / sync (push) Failing after 0s
plane-sync / sync-commits (push) Successful in 3s
52c7d41719
On push to a non-main branch, post a comment on each referenced DS
ticket for every commit whose message contains a ticket key, linking
to that commit in Forgejo. Complements the existing PR-merge sync job
with commit-level breadcrumbs while work is in progress.
Split plane-sync.yml into two workflow files by trigger
All checks were successful
plane-sync-commits / sync-commits (push) Successful in 2s
plane-sync-merge / sync (pull_request) Successful in 2s
58a916e3cc
The sync job (pull_request:closed) and sync-commits job (push) lived in one
workflow with an `if:` guard skipping whichever job didn't match the firing
event. This Forgejo/act_runner build reports a skipped job's commit status
as `failure` rather than `skipped`, so every push to this branch posted a
false-failing "plane-sync / sync" check. Splitting into
plane-sync-merge.yml and plane-sync-commits.yml means each workflow simply
doesn't run for events it doesn't apply to, instead of running and being
skipped.
chris merged commit 7e7f93d788 into main 2026-09-03 07:17:59 -06:00
chris deleted branch feature/plane-commit-sync 2026-09-03 07:17:59 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
chris/design-system!5
No description provided.