When monitoring pull requests, Semaphore has two main build workflows:
For direct pushes to the main repository, Semaphore automatically creates a new build, regardless of whether a pull request has been opened or not. In this case, Semaphore does the equivalent of git checkout <branch-name> && git reset --hard <commit-id>.
If your development process includes the pull request number, steps illustrated on this page will help you to fetch it from Github.
For pushes to forked repositories, Semaphore will start a build after a pull request has been opened between the main and the forked repository. The pull request title and number will appear on the Semaphore project page as a link to the full build history. For example, branch name on Semaphore will be similar to https://semaphoreci.com/my-organization/awesome-project/branches/pull-request-5.
In this case, Semaphore pulls the refs/pulls references from the main repository with git fetch +refs/pull/<pull-request-number>/head: && git reset --hard <commit-id>, a workflow documented by Github.
After a pull request has been closed, Semaphore will no longer run builds for that pull request.
Because of technical limitations of the Bitbucket API, Semaphore does not support building pull requests for projects that are hosted on Bitbucket.
Semaphore Docs are open source — Edit on GitHub