forcedotcom / forcedotcom/devops-center-feedback
Promotion Blocked when optional GitHub Actions check fails — DevOps Center does not respect required vs. optional check distinction
- Dominant language
- No language data
- Stars
- 61
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
When a GitHub Actions workflow check is configured as **optional** (not required) in GitHub branch protection rules, Salesforce DevOps Center still shows **"Promotion Blocked"** if that check fails. DevOps Center appears to read GitHub's combined commit status API, which rolls up to `failure` if any check fails regardless of its required/optional status. This makes it impossible to run non-blocking CI checks alongside DevOps Center promotions.
---
**To Reproduce**
1. Configure a GitHub Actions workflow triggered on `pull_request` targeting a branch managed by DevOps Center
2. In GitHub branch protection rules, set the workflow check as **optional** (do not add it to "Required status checks")
3. Open a Pull Request via DevOps Center (or manually) targeting the protected branch
4. Allow the GitHub Actions workflow to run and **fail** (e.g. a Salesforce dry-run validation finds a deployment error)
5. Attempt to promote the Work Item in DevOps Center
6. Observe **"Promotion Blocked"** — promotion cannot proceed despite the check being optional
---
**Expected behavior**
DevOps Center should respect GitHub's required vs. optional check distinction. A failing **optional** check should not block promotion. Only checks marked as **required** in branch protection rules should have the ability to block a promotion.
---
**Screenshots**
---
**Additional context**
- DevOps Center reads the GitHub [combined commit status endpoint](https://docs.github.com/en/rest/commits/statuses), which returns `failure` if any check fails, regardless of required/optional status. This is the root cause of the behaviour.
- Current workaround is to add `continue-on-error: true` to the GitHub Actions steps, forcing the check to always report green — this is undesirable as it suppresses genuine failures and removes the value of the CI check entirely.
- This makes it very difficult to introduce **optional/informational** CI checks alongside DevOps Center without either blocking all promotions or silencing failures.
- Requested behaviour is consistent with how GitHub itself treats optional checks — they provide signal without acting as a gate.
Contributor guide
Assessment
This issue has not been assessed yet.