Pull Request/Merge Request Workflow
In step three of the Build Tools guide, learn how to use pull requests as part of your workflow.Discuss in our Forum Discuss in Slack
Pull Request/Merge Request Introduction
This section demonstrates the Build Tools project workflow by making a code change on a Git feature branch and opening a pull request (GitHub) or merge request (GitLab) to accept that change into the
As a reminder, these examples use GitHub as the code repository with CircleCI as the CI. CircleCI builds the full site artifact and deploys it to the project's Pantheon site. Substitute the Git provider and CI below with the right ones for your project.
Branches with an associated pull request are built and deployed to a Pantheon Multidev environment, with the pull request number being used to construct the Multidev name. For example, pull request
12 will be deployed to a Pantheon Multidev named
master branch is automatically built and deployed to the Pantheon
dev environment. This happens both when you commit code directly to the
master branch and when a pull request is merged into the
Deployments to the
live environments on Pantheon must still be done manually, either through the Dashboard or via Terminus. For this reason, Continuous Delivery (CD) is not enabled.
Create a Pull Request
From your GitHub project page, click on the
configdirectory. Select the file
system.site.ymland click to open an editor:
Change the slogan to something inspiring:
Scroll down and enter a message describing this change in the Commit changes area. Then click on the radio button to create a new branch and give it a short name, like
slogan. Click Propose file change:
Click Create Pull Request:
As soon as you commit changes to a feature branch, CircleCI builds a new Multidev environment on Pantheon to preview the change. Once the Multidev environment has been created, the build script will add a comment to the commit with links to the Multidev environment of the Pantheon Site Dashboard and a button to visit the Multidev site URL (e.g.,
pr-1-my-pantheon-project.pantheonsite.io). The Pull Request page conveniently shows the messages from each commit on the branch:
It is also common to set up automated tests to confirm that the project is working as expected; when tests are available, GitHub will run them and display the results of the tests with the pull request. Working on projects with comprehensive tests increases the development team's confidence that submitted pull requests will work correctly when they are integrated into the main build.
Wait for the build on CircleCI to leave a comment, then click on the Visit Site button to access the Multidev site URL. Note that the slogan you entered in your pull request branch has been imported and is visible in the site header:
This Multidev environment will persist for as long as the pull request remains open in GitHub.
adminusername and password you created in the
build-env:create-projectcommand. Click Log in to access the admin interface: