forcedotcom / forcedotcom/devops-center-feedback

Promotion Blocked when optional GitHub Actions check fails — DevOps Center does not respect required vs. optional check distinction

Open
#299 0 comments 0 reactions 0 assignees View on GitHub
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**

Image

---

**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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.