diff --git a/_posts/2017-09-09-travis-ci-pr-push.md b/_posts/2017-09-09-travis-ci-pr-push.md
new file mode 100644
index 0000000..b78a345
--- /dev/null
+++ b/_posts/2017-09-09-travis-ci-pr-push.md
@@ -0,0 +1,29 @@
+---
+layout: post
+title: "Difference between Travis CI tests: PR and Push"
+permalink: travis-ci-pr-push/
+categories: programming
+excerpt_separator:
+---
+
+I just want to leave this here as I often tend to look it up myself and the first time it was not as easy to figure out.
+
+When using Travis CI along with GitHub (or other git integrations), Travis runs two tests: pr
and push
.
+
+![travis-pr-push-github](/img/travis-ci-pr-push-github.jpg)
+
+Most of the time you see both tests passing and you do not have to even wonder how they are different, but it has
+happened to me that one of the tests fails while the other passes and I started to wonder why.
+
+### pr
+The pr
test is a test run on the result of a merge between the pull-request branch and the main branch.
+As an example, let's say your pull-request's branch is called fix-user-auth
and your main branch is master
,
+in this case, pr
merges fix-user-auth
into master
and then runs the tests on the result of the merge.
+
+### push
+On the other hand, push
is run on the pull-request branch itself, without merging. So in our example above, Travis would checkout to fix-user-auth
and run the tests.
+
+### A case of difference
+
+A case in which this difference might be more apparent is when your pull-request is based on a branch other than master
, and some changes that your pull-request depends on are missing from master
, in this case the push
test may pass, but the pr
test will fail.
+
diff --git a/img/travis-ci-pr-push-github.jpg b/img/travis-ci-pr-push-github.jpg
new file mode 100644
index 0000000..2fc90fc
Binary files /dev/null and b/img/travis-ci-pr-push-github.jpg differ