diff --git a/.travis.yml b/.travis.yml index 06f578c..0eb8065 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,6 @@ language: c services: - docker -addons: - artifacts: - target_paths: - - /dumb-init/${TRAVIS_BUILD_NUMBER}/${ITEST_TARGET}-${TRAVIS_OS_NAME} - paths: - - $(find dist -type f | tr "\n" ':') - matrix: include: - env: ITEST_TARGET=itest_trusty @@ -23,7 +16,4 @@ script: - make "$ITEST_TARGET" after_script: - - if [ -n "${ARTIFACTS_SECRET:-}" ]; then - echo 'Build artifacts are available at:'; - find dist -type f | xargs --replace echo "* https://yelp-travis-artifacts.s3.amazonaws.com/dumb-init/${TRAVIS_BUILD_NUMBER}/${ITEST_TARGET}/{}"; - fi + - ci/artifact-upload diff --git a/ci/artifact-upload b/ci/artifact-upload new file mode 100755 index 0000000..cb98a9c --- /dev/null +++ b/ci/artifact-upload @@ -0,0 +1,17 @@ +#!/bin/bash +set -euo pipefail + +if [ -n "${ARTIFACTS_SECRET:-}" ]; then + # Travis has built-in support for artifact uploading, but it's broken on ppc64le: + # https://github.com/travis-ci/travis-ci/issues/9710 + pip install --user awscli + + ARTIFACTS_PATH="dumb-init/${TRAVIS_BUILD_NUMBER}/${ITEST_TARGET}-${TRAVIS_OS_NAME}" + echo 'Uploading artifacts:' + for f in dist/*; do + AWS_ACCESS_KEY_ID=$ARTIFACTS_KEY AWS_SECRET_ACCESS_KEY=$ARTIFACTS_SECRET ~/.local/bin/aws \ + s3 --region $ARTIFACTS_REGION \ + cp "$f" s3://$ARTIFACTS_BUCKET/$ARTIFACTS_PATH/$(dirname "$f")/ + echo "* https://${ARTIFACTS_BUCKET}.s3.amazonaws.com/$ARTIFACTS_PATH/$f" + done +fi