Deploy to GitHub multiple files from multiple Travis jobs on different conditions

A deploy: clause is a part of a job description.

So if you need to deploy at multiple moments, you’ll need to make sure that all relevant jobs have a deploy: clause with an appropriate content, this way or another.

The ways are:

  • A deploy: at global level will be inherited by all jobs.
  • A deploy: at matrix: include: level will be private for the job

The clause cannot be inherited in parts – a job-level clause fully overrides a global one. So you either

  • make a global deploy: clause with a structure general enough to fit all jobs
    • E.g. condition: can have logical ORs; or
  • specify deploy: manually in each affected job which would probably lead to some duplication.