File: database-projects-pr-workflow.yml
This workflow automatically updates the Database Team's GitHub Project board based on PR events.
The workflow triggers on PR events (opened, review requested, review submitted, merged, etc.) and automatically:
- Checks domain labels - Only processes PRs with labels starting with
domain::databaseordomain::core - Adds PR to project - Ensures the PR is added to the Database Team project board
- Updates Status field - Sets the PR status based on its state:
In Progress- PR is a draftIn Review- PR is ready for reviewDone- PR has been merged
- Updates Review Status field - Sets the review status based on review state:
Awaiting- Set when:- PR switches from draft to ready for review
- There are pending review requests
- A reviewer who requested changes has been re-requested for review
- No reviewers have been requested yet and no approvals exist
Feedback- Changes have been requested by a reviewerMerge- No pending review requests and at least one approval exists
- Updates linked issues - Also updates the Status field (not Review Status) of any issues linked to the PR. This assumes a 1:1 relation between PRs and issues.
Draft PR opened/converted to draft
→ Status: In Progress
→ Review Status: (cleared)
PR ready for review / review requested
→ Status: In Review
→ Review Status: Awaiting
Changes requested
→ Status: In Review
→ Review Status: Feedback
Changes requested reviewer re-requested for review
→ Status: In Review
→ Review Status: Awaiting
PR approved
→ Status: In Review
→ Review Status: Merge
PR merged
→ Status: Done
→ Review Status: (cleared)
The workflow uses these environment variables (defined at the top of the file):
| Variable | Description |
|---|---|
PROJECT_NUMBER |
The GitHub Project number (currently 3) |
DOMAIN_LABELS |
Labels that trigger the workflow (domain::database, domain::core) |
STATUS_FIELD_NAME |
Name of the Status field in the project |
REVIEW_STATUS_FIELD_NAME |
Name of the Review Status field in the project |
- A GitHub token with project write permissions stored as
DATABASE_PROJECT_WORKFLOW_TOKENsecret - The project must have
StatusandReview Statussingle-select fields with the expected options
You can manually trigger the workflow for a specific PR using the "Run workflow" button in the Actions tab, providing the PR number.
File: database-projects-issues-workflow.yml
This workflow automatically adds new issues to the Database Team's GitHub Project board.
The workflow triggers when an issue is opened or labeled, and:
- Checks domain labels - Only processes issues with labels starting with
domain::databaseordomain::core - Checks if already in project - Skips if the issue is already on the project board
- Adds issue to project - Adds the issue to the Database Team project board
- Sets Status to Todo - Sets the initial status to
Todo
| Variable | Description |
|---|---|
PROJECT_NUMBER |
The GitHub Project number (currently 3) |
DOMAIN_LABELS |
Labels that trigger the workflow (domain::database, domain::core) |
STATUS_FIELD_NAME |
Name of the Status field in the project |
STATUS_TODO |
The initial status value for new issues (Todo) |
- A GitHub token with project write permissions stored as
DATABASE_PROJECT_WORKFLOW_TOKENsecret - The project must have a
Statussingle-select field with aTodooption
You can manually trigger the workflow for a specific issue using the "Run workflow" button in the Actions tab, providing the issue number.