Deployment is completed succesfully but Deployment remains 'In Progress'

Validation rules, process builders or triggers you have setup in User story, Promotion or Deployment objects can prevent a Deployment to update its status after being completed. You will see the deployment completed in the Deployment Status page but the status field in the record shows In Progress.

If you run into this situation you can follow the steps below to change the status of the deployment manually. If the cause of the deployment status not being updated is one the above, you will see the error in the screen. If you do not see any error when updating the status manually, there might have been a problem in the communication between our backend server and your salesforce org when the request to update the status was triggered.

Before updating the deployment record to Completed Successfully make sure that not only the deployment was completed in the target org but also the promotion branch was merged into the target branch. If the merge was not completed, you will have to change the status to Completed with Errors and trigger the deployment again to make sure the promotion branch is merged into the target branch.

1. Go to the home tab.
2. Remove home/home.jsp from the url.
3. Paste DeploymentId?nooverride
4. You are now in the standard layout for Deployment record, overriding the Visualforce page.
5. In the Steps related list, click on the step name that is still running. (The Git Promotion step)
6. Click in the Deployment Job name in the Deployment Jobs related list.
7. Click Edit, change the Status to Success or Fail and "% Deployed" to 100 or 0 depending if the deployment was completed successfully or with errors and Save.
8. You might see now the error and the record Id that we are failing to update. 
9. Perform the necessary modifications in the affected record or the components involved (validation rules, process builders or triggers) to make sure the update will not fail again.
10. Once this is done, you should be able to update the Deployment Job to Success. This will cascade the update to Deployment step and Deployment.

How did we do?