To put it in "BDD" terms:
Background:
Given I'm contributing to a GH repoWhen I create a pull request
Then Travis should build the latest commitWhen I push to an existing pull request
Then Travis should build the latest commitWhen I merge a pull request to master
Then Travis should build master
I was confused by Travis-CI's "build pushes" and "build PRs" settings, as:
This is explained more in Travis-CI docs and GH issue #3241.
Anyone know a configuration that satisfies the above criteria?
I eventually found another GH issue (#2111) which gave me the idea to try enabling both PRs & pushes, but with a whitelist to restrict pushes to a specific branch. This seems to satisfy the criteria for my workflow. Here's what I did:
.travis.yml
to white-list master
branch (i.e. only build pushes to master):branches: only: - master
Test it by creating a PR with the .travis.yml
change, and another PR with some empty commits to verify it works for forks too.