Conditionally excluding and allowing jobs to fail

Jobs can now be conditionally excluded from the build matrix, and allowed to fail conditionally. For example, you can exclude portions of your build matrix, or allow jobs to fail on certain branches, on pull requests, or if sent by a certain sender.

For details, see our documentation on Conditional Builds, Stages and Jobs and Conditions.

Xcode 10, Xcode 10.1, Xcode 10.2 and Xcode 10.3 images updated!

Brew packages on all these images were upgraded, including the following Xcode tools:

  • Carthage 0.34.0
  • Cocoapods 1.8.4
  • Fastlane 2.134.0

Installed Node.js versions:

  • 13.0.1
  • 12.13.0
  • 10.17.0
  • 8.16.2

To make any suggestions (or to discuss any issues), please visit our forum.

dpl 1.10.14 is released

We have released version 1.10.14 of our deployment utility, dpl.

This release:

  1. Fixes missing api_key error in GitHub Releases.
  2. Fixes dependency resolution issues in Elastic Beanstalk, AWS Lambda, Puppet Forge.

Xcode 11.2.1 released!

Xcode 11.2.1 (Build 11B500) is now available! You may run your builds on this new version right now, just add the following to your .travis.yml:

osx_image: xcode11.2

This image ships with some updated Xcode tools like:

  • carthage 0.34.0
  • fastlane 2.136.0
  • cocoapods 1.8.4

Please refer to our documentation to learn more about this release.

As always, if you have any questions or issues, please email support@travis-ci.com.

Build Config Validation now active for new repositories by default

As announced last month, the feature Build Config Validation is now active for new repositories by default. If needed, the feature can be deactivated on the repository's settings page.

Building on IBM Power and IBM Z CPU architectures

You can now test your open source software on even more target CPU architectures.

Travis CI can now run your Linux builds on IBM Power and IBM Z CPU architectures on top of already available amd64 and arm64 (ARMv8).

To enable testing on IBM CPU architectures, just add the arch: key to your .travis.yml:

arch:
  - ppc64le # IBM Power
  - s390x   # IBM Z
os: linux   # different CPU architectures are only supported on Linux

You can learn more in our announcement and in our docs.

Share and import yaml snippets to your build configuration

The new beta feature Build Config Imports allows you to import shared YAML build config parts to your .travis.yml file or config included in API build requests.

Build Config Imports let you save time by defining reusable configuration snippets so that you can fetch commonly used recipes with a single import line, share secrets, and standardize your build and deploy configuration across repositories.

Read all about this feature in our announcement blog post.

For feedback, questions and discussion, we would love to see you in the Travis CI community forum.

More secure handling of `secure` values in configuration

We improved our handling of secure values in the user configurations in order to prevent accidental exposure of sensitive data.

This change means that, if the secure value was not encrypted, decryption now fails, and the data are now undefined. For example,

deploy:
  provider: s3
  access_key_id: AK1234567890ABCDEFGH
  secret_access_key:
    secure: $AWS_SECRET_KEY
  ⋮

will now fail because secret_access_key is now undefined and the deployment utility will not get the correct value.

If the value is not encrypted, ensure that it is not wrapped in secure.

The example above should now read:

deploy:
  provider: s3
  access_key_id: AK1234567890ABCDEFGH
  secret_access_key: $AWS_SECRET_KEY
  ⋮

Build Config Validation now in beta

The Build Config Validation feature is now in beta, and available for you to activate.

When active, the build config validation feature will validate and normalize any incoming build config sources, your .travis.yml file and configs from build requests created via API.

You can enable this feature using the repository setting “Build config validation” in the Travis CI UI, or by specifying the version in your .travis.yml file:

version: ~> 1.0

Read more about this feature on our blog.

You can find the new build config reference documentation here.

For questions and discussion, we would love to see you in the Travis CI community forum. If you see any missing functionality or find bugs please open an issue.

Xenial and cache support added for ARM builds

Additionally to Ubuntu Bionic 18.04, Ubuntu Xenial 16.04 is now available to run ARM builds. Ubuntu Xenial 16.04 is now the default image (if you don't specify a dist:' in your .travis.yml Xenial will start automatically.)

Other changes:

  • Added ruby language for Xenial and Bionic distributions,
  • Added C lang for Xenial
  • Added minimal images for Xenial and Bionic
  • Increased disk size for LXD containers on ARM architecture to approx. 18GB
  • added support for cache and workspace for builds run within LXD containers on ARM infrastructure

To enable testing on multiple CPU architectures, just add the arch: key to your .travis.yml:

arch:
  - amd64
  - arm64
os: linux  # different CPU architectures are only supported on Linux

You can learn more in the multi-CPU architecture support announcement and in the multi-CPU architectures docs.