Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ezyang
Created July 30, 2017 04:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ezyang/6e797c1e693d5faf4bac883a2ab4ad02 to your computer and use it in GitHub Desktop.
Save ezyang/6e797c1e693d5faf4bac883a2ab4ad02 to your computer and use it in GitHub Desktop.
  • Matrix DOES work with deploy; deploy gets run for each matrix entry, environment variables carry over
  • Non-tag releases behave strangely: Travis creates an "untagged" tag for each matrix entry (so you end up with multiple tags), and each show up as separate releases
  • If you tag the release, each matrix entry gets bundled up in the same release. Untagged releases and draft releases get done separately.

Conclusion: do tagged releases only

  • Bash condition is useful; you can use this to distinguish between matrix entries. This can help you filter out non-release matrix entries.

Is it a good idea to put the release build script and the regular build script together? You might think to create separate matrix entries for release and non-release.

  • Problem: you can't "disable" matrix builds conditionally: everything in the matrix always runs
  • For release, that's not so bad. But it sucks to have to queue a dead-on-arrival release job. One workaround: swap the script out.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment