Currently, the DroneCI pipeline returns only one status to GitHub PR for example my-org/drone-ci/pr . It is AND logic. It will be success if ALL steps finish successfully, or fail if ANY step fails. To have more granular control over PR checks (optional vs required) every step should be able to return its own status (if no status is defined it should contribute to the base pr checks status - my-org/drone-ci/pr ). As of today, this can be accomplished only with 3rd part plugins (ex: jmccann/drone-github-status ). This should be moved to droneCI native pipeline definition. Example usage: kind: pipeline type: docker name: go-pr-additional-test steps: - name: test-1 image: alpine check-context: my-org/drone-ci/pr/test-1 commands: - echo "Hello world" - name: test-2 image: alpine check-context: my-org/drone-ci/pr/test-2 commands: - echo "Hello world" - exit 1 - name: test-3 image: alpine check-context: my-org/drone-ci/pr/test-3 commands: - echo "Hello world"