Skip to content

GitHub Projects Setup

Project URL: https://github.com/users/trudenboy/projects/3

The following was configured via CLI and is already active:

ResourceID
Project number3
Project node IDPVT_kwHOCFMIf84BPvYe
FieldTypeField ID
StatusSingle selectPVTSSF_lAHOCFMIf84BPvYezg-EBfE
ProviderSingle selectPVTSSF_lAHOCFMIf84BPvYezg-EBos
Incident TypeSingle selectPVTSSF_lAHOCFMIf84BPvYezg-EBow
PrioritySingle selectPVTSSF_lAHOCFMIf84BPvYezg-EBo0
VersionTextPVTF_lAHOCFMIf84BPvYezg-EBpg
OptionIDUsed by
Triage0a72259fIncident Board
In Progress6325b19fIncident Board
Blockedd42de83cIncident Board
Done6185362dIncident Board
Released05135656Release Pipeline (set by reusable-release.yml)
Synced to Fork3e9d1353Release Pipeline (set by reusable-sync-to-fork.yml)

All 5 provider repos are linked to the project:

  • trudenboy/ma-provider-yandex-music
  • trudenboy/ma-provider-kion-music
  • trudenboy/ma-provider-zvuk-music
  • trudenboy/ma-provider-msx-bridge
  • trudenboy/ma-server

1. Update FORK_SYNC_PAT Scope (Required for workflow automation)

Section titled “1. Update FORK_SYNC_PAT Scope (Required for workflow automation)”

The FORK_SYNC_PAT secret must have project scope (classic PAT) or projects:write (fine-grained PAT).

Without this, the “Track release/sync in MA Ecosystem project” steps will be skipped (they use continue-on-error: true so CI won’t break).

Steps:

  1. Go to GitHub → Settings → Developer settings → Personal access tokens
  2. Edit the PAT used as FORK_SYNC_PAT
  3. Enable the project scope
  4. Update the secret in each provider repo and in this (ma-provider-tools) repo

Navigate to https://github.com/users/trudenboy/projects/3 and create the following views:

  • Layout: Board
  • Group by: Status
  • Sort by: Priority
  • Filter: status:Triage,In Progress,Blocked,Done
  • Layout: Table
  • Columns: Repository, Version, Status
  • Filter: status:Released,"Synced to Fork"
  • Sort by: Repository
  • Layout: Table
  • Sort by: PriorityIncident TypeRepository
  • Filter: open items only (default)

In the project → Workflows tab, enable:

WorkflowTriggerAction
Auto-add to projectIssue opened with label incident:ci in any linked repoAdd to project, Status = Triage
Auto-add to projectIssue opened with label incident:bugAdd to project, Status = Triage
Auto-add to projectIssue opened with label incident:upstreamAdd to project, Status = Triage
Auto-add to projectIssue opened with label incident:securityAdd to project, Status = Triage
Auto-add to projectIssue opened with label incident:proposalAdd to project, Status = Triage
Auto-archiveItem closedArchive after 7 days
Auto-closePR mergedStatus = Done

Manually add any existing open issues from provider repos:

Terminal window
gh issue list --repo trudenboy/ma-provider-yandex-music \
--label "incident:ci,incident:bug,incident:upstream,incident:security,incident:proposal" \
--state open

Then add each to the project via the UI or:

Terminal window
gh project item-add 3 --owner trudenboy --url <ISSUE_URL>

When a provider release succeeds, the workflow:

  1. Creates a draft project item titled "Release {repo-name} v{version}"
  2. Sets Status = Released
  3. Sets Version = v{version}

Requires FORK_SYNC_PAT with project scope passed to the reusable workflow:

secrets:
FORK_SYNC_PAT: ${{ secrets.FORK_SYNC_PAT }}

When a sync PR is created in trudenboy/ma-server, the workflow:

  1. Adds the PR URL as a project item
  2. Sets Status = Synced to Fork

Uses the existing FORK_SYNC_PAT secret (already required by this workflow).