I’ve run into a few hiccups in the Australian development pipeline, and have a suggestion for a change to improve the process.
The current process
We develop code in a branch, and then use the
Open Food Network Deploy Buildkite pipeline to push it to staging. The branch is tested, and feedback goes on the related github issue (most commonly) or sometimes in a discourse thread.
This process has three problems: There’s no code review built in, so it’s fairly common for code that’s never been seen by another developer to go to production. Secondly, the home for testing feedback is not clearly defined, and it’s harder than it could be to assess the progress of features through the review/test/push process. Lastly, there are separate processes for handling internal work and pull requests submitted by other developers.
The suggested change
I suggest that Aus dev team developers open a pull request for each feature when it’s ready for testing, referencing the relevant GitHub issue that spawned the PR. From here, it’s easy for another developer to perform a code review, and all testing feedback can go in the pull request.
The current system is not optimally set up for this workflow. When an Aus dev team member pushes a branch and opens a PR for it, Travis performs a separate build of both the branch and the PR, locking up CI for longer than needed. I suggest we configure Travis to build only PRs and the master branch.
Within Buildkite, we could now deploy all branches using the
Open Food Network Pull Requests pipeline, and we could drop the
Open Food Network Deploy pipeline.