Travis-CI skipping deployment although Commit is tagged

You need to remove

branches:
    only:
    - master

See https://github.com/travis-ci/travis-ci/issues/2498#issuecomment-48337712

I realize this is a bummer, but I am not sure that Travis can be configured in the way you desire. You may want to open a ticket - https://github.com/travis-ci/travis-ci/issues/new

UPDATE:

Use a regex for the tags in branches.only:

branches:
    only:
    - master
    - /v\d+\.\d+[a-z]/

Travis CI differentiates between builds initiated by pushing a commit or pull request and builds initiated by pushing a tag.

TRAVIS_BRANCH: for push builds, or builds not triggered by a pull request, this is the name of the branch. for builds triggered by a pull request this is the name of the branch targeted by the pull request. for builds triggered by a tag, this is the same as the name of the tag (TRAVIS_TAG).

Source: https://docs.travis-ci.com/user/environment-variables/

So when pushing a commit with a tag this will trigger two builds with different conditions. If you only filter your branch names, the build for the tag won't get triggered!

You should check for tags in the if: condition (here are the possible predicates):

jobs:
  include:
  - # Build debug
    if: branch IN (develop, master)
    ...
  - # Build and deploy release on tags
    if: tag IS present
    ...

You can check my example travis.yml for Android apps: https://travis-ci.com/G00fY2/android-ci-testproject/jobs/271171322/config