15

I want to do some additional testing on Travis, but I just want to check if the commit has directly pushed to master branch and the commit comes with a Tag ? Is there anyway to check for tag on Travis inside the yaml file ?

Soheil
  • 5,054
  • 3
  • 24
  • 43

2 Answers2

39

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

Slawomir Jaranowski
  • 7,381
  • 3
  • 25
  • 33
4

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.

Aryeh Leib Taurog
  • 5,370
  • 1
  • 42
  • 49