How to check if master branch pushed with a tag under Travis?
As Slawomir Jaranowski described, travis provides environment variables describing the commit.
Travis’ default convenience environment variables will tell you either the branch name or the tag. Travis does not give you the branch name in tagged builds, but you can get it for yourself if you need both the branch and the tag.
During build travis set some useful environment variable, which can be used in your script also in yml file. https://docs.travis-ci.com/user/environment-variables#Default-Environment-Variables
Example:
script:
- if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then something on direct push to master; fi
- if [ ! "$TRAVIS_PULL_REQUEST" = "false" ]; then something on pull request; fi
- if [ -n "$TRAVIS_TAG" ]; then something when tag set; fi
Travis run commands in order like defined in script tag, so you can build some logic on build which depends on environment variables