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:
- Enable both PRs & branch pushes in the Travis settings for the repo:

- Change
.travis.ymlto white-listmasterbranch (i.e. only build pushes to master):
branches:
only:
- master
-
Test it by creating a PR with the
.travis.ymlchange, and another PR with some empty commits to verify it works for forks too. -
Verify successful merge commit build from master.
