travis_retry_preserve_errexit Run command in a way that allows it to set `errexit`

Push event #32 failed

  • Ran for
  • Total time
.travis.yml
language: ruby
dist: xenial
rvm: 2.5.3

services:
  - redis

cache:
  bundler: true

env:
  global:
  - COVERAGE=1
  matrix:
  - INTEGRATION_SPECS=0
  - INTEGRATION_SPECS=1

stages:
- test
- ':ship: it to quay.io'

jobs:
  allow_failures:
  - script: ./script/docker-build-and-push
  include:
  - stage: test
    env:
    script: ./script/validate-example-payloads-with-docker
  - stage: ':ship: it to quay.io'
    env:
    script: ./script/docker-build-and-push
    if: type = cron OR commit_message =~ /ship:docker/ OR env(SHIP_DOCKER) = true

before_script:
- eval "$(script/handle-docker-config)"
- bundle exec rake clean assets:precompile

script:
- bundle exec rspec spec
- bundle exec rake shfmt
- bundle exec rake assert_clean
- bundle exec rake shellcheck
- bundle exec rake assert_examples

after_success: bundle exec codeclimate-test-reporter

after_failure: bundle exec rake dump_examples_logs

before_deploy:
- sudo pip install -U -I Pygments
- ./script/build-s3-index-html

deploy:
  provider: s3
  access_key_id:
    secure: fXt5NG5UGDvpnRFvUUk9J//iSo+Vh28oEUJvjZqiUZ9GRHp5TrIS5vL4bPlD/1RrJRp7BVVj1+4ThXZRzrMhF5xazK8k4ANaUhMdjmRa6arXtqBcXIyUvu//5e80nlXekqMKaW7f5wrLNiKZB+ck7ayGlI1NYLNQ5nCWC6Xxe6s=
  secret_access_key:
    secure: Jn9clQh78C2c1zoueTkn0r5kSCHrbb7bMojb8/Ne+6zg0pD/3w25mrhEC4y9b3M/lHoKArOPj4dn03ZErJleM8aOMNMIa6ck8GKP+7EoFlZ/1/C5733HazlldTWDd2+wTOYfSIGOM+mHDP5tmK0S7pr1zEm+/++UExuGZXiCSSI=
  bucket: travis-build-examples
  local_dir: examples
  skip_cleanup: true
  region: us-east-1
  on:
    branch: master
    condition: $INTEGRATION_SPECS == 1
    repo: travis-ci/travis-build
  edge: true
Build Config
{
  "language": "ruby",
  "os": [
    "linux"
  ],
  "dist": "xenial",
  "rvm": [
    "2.5.3"
  ],
  "services": [
    "redis"
  ],
  "cache": {
    "bundler": true
  },
  "env": {
    "global": [
      {
        "COVERAGE": "1"
      }
    ],
    "jobs": [
      {
        "INTEGRATION_SPECS": "0"
      },
      {
        "INTEGRATION_SPECS": "1"
      }
    ]
  },
  "stages": [
    {
      "name": "test"
    },
    {
      "name": ":ship: it to quay.io"
    }
  ],
  "jobs": {
    "allow_failures": [
      {
        "script": [
          "./script/docker-build-and-push"
        ]
      }
    ],
    "include": [
      {
        "stage": "test",
        "env": [
          {}
        ],
        "script": [
          "./script/validate-example-payloads-with-docker"
        ]
      },
      {
        "stage": ":ship: it to quay.io",
        "env": [
          {}
        ],
        "script": [
          "./script/docker-build-and-push"
        ],
        "if": "type = cron OR commit_message =~ /ship:docker/ OR env(SHIP_DOCKER) = true"
      }
    ]
  },
  "before_script": [
    "eval \"$(script/handle-docker-config)\"",
    "bundle exec rake clean assets:precompile"
  ],
  "script": [
    "bundle exec rspec spec",
    "bundle exec rake shfmt",
    "bundle exec rake assert_clean",
    "bundle exec rake shellcheck",
    "bundle exec rake assert_examples"
  ],
  "after_success": [
    "bundle exec codeclimate-test-reporter"
  ],
  "after_failure": [
    "bundle exec rake dump_examples_logs"
  ],
  "before_deploy": [
    "sudo pip install -U -I Pygments",
    "./script/build-s3-index-html"
  ],
  "deploy": [
    {
      "provider": "s3",
      "access_key_id": {
        "secure": "EpQxEsMcm8W4a1l9CR6ngabkEp8/uQpb71T72AM/uuZ7ncs1kCP1h9CkbLSiw0IGSS3eX0sAEU+ldlzPgzKsacepBXSR0aUHgk2w/mYQTEGHXNP0R8nF09ZoyJpwDfmWn+Q3ilY3SBxWDomoSC/O4ORNy3DMjroEiCdTmMeXGvfqPhhzyPGdq1keqMNupt0SNCW763xT/0Ky2CYoLN7ncto2uRjOFtweFvUD31EGIP1vcTYGoy88Laxs00WjP20ol6dLWqxpFZKYWJxbQqZQQXsyHxxH9uMgFU+jy4fIE5iiASdyhwwFPVK1Rj1tlSBvq0A5d6dOdhZ0alA+jUFj0EF9uTxYXtkpoXWaMQVdvi9sKp6xiUcyt+oahlEsvW1LY6bbHGRXY5nz1bwgjM/FnP/qRYGtFb7JSMWqeliZs+Zz8anCWeJL9MQ9qtiQt2Q2DvKR5mvD5njIRp3S6Ht+601+wAI/yL36W9AcyBa13J0/x8c3ux2b041uBU7ke7IdcUWm6mIuMKbVVVfZcow9u2LRHKP4yhExrHv+BuChNl5P74WyKosmuu549YukkQV8HetMP+BNmnotPcyEZBlC7pbllbd0/kcazX7sfzVWKemyH0Xcp6yrf3IjXiGBrPEWdPrP/5T9rIXsNcbw7VoI95gSepTbTTA0tYgYO/MWRVo="
      },
      "secret_access_key": {
        "secure": "v9ZoLeMZDVeEO8xh67FrTEgZ0QbUXZhyTZlLWfgNd28+NXgo42UNycN4Ncj7geTr7FfGkvfGArz7FBuZNaz+O0l3/uFj0aoG80W/KTkPFvcuzthzxCGZeClkVx/HBK3Ne1YjrPhIuNkPgDVIgKOyd4QRUrvaAykJXesYCTuXe9Z/aox6DGPXKJMqkRbx5RY+7bkJIUARvVJndn+zZxorbSyxpmXNiwp2DcgCzOgbFGOCqoHkMXbv2LIoHNGwxH3HTOR1VjXzolPerVWSlNbZH7xseX1TrFpmdXR6mkRsmDKGGdQEYPlNiojpY9PfvNMeBBiUuRu2G9z/2NTs1mT+E8x4YhE4loA6jWf2YpC2qgngKqMvWNaCc4MyQsycjQdf6bOFxiIOt52dJF5vFExX41PehGAm/N6iDHqyLGltm8MAmiWz771Mw9LKbgLO+GPM2KSLU4Ng2U2iJcuC+ak/V+AC83vrXmQBa1ZcJRBLjcwHP8FL/p34w3H0yHX5O9YEDTI4FUknl7IYEvRijhX5IzE2OiQgcrbO8C8IQHT7LdhK+7NWigc8yD5fsRLk225rgdJ1bM3tjnnDtZnnQ47hls522MFJjRC10u3VUi2+HBogYDTYhamRmYFqbtfyOqMQj99NEsaXjzGgH7WkgeU3Ad2SGCR8vSQa3BsZiDA3aJc="
      },
      "bucket": "travis-build-examples",
      "local_dir": "examples",
      "skip_cleanup": true,
      "region": "us-east-1",
      "on": {
        "branch": [
          "master"
        ],
        "condition": [
          "$INTEGRATION_SPECS == 1"
        ],
        "repo": "travis-ci/travis-build"
      },
      "edge": true
    }
  ]
}