Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .expeditor/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ merge_actions:
- built_in:build_gem:
only_if: built_in:bump_version

pipelines:
- verify:
description: Pull Request validation tests
public: true

promote:
actions:
- built_in:rollover_changelog
Expand Down
44 changes: 44 additions & 0 deletions .expeditor/run_linux_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash
#
# This script runs a passed in command, but first setups up the bundler caching on the repo

set -e

export USER="root"

# make sure we have the aws cli
apt-get update -y
apt-get install awscli -y

# grab the s3 bundler if it's there and use it for all operations in bundler
echo "Fetching bundle cache archive from s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.tar.bz2"
aws s3 cp "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.tar.bz2" bundle.tar.bz2 || echo 'Could not pull the bundler archive from s3 for caching. Builds may be slower than usual as all gems will have to install.'
aws s3 cp "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.sha256" bundle.sha256 || echo "Could not pull the sha256 hash of the vendor/bundle directory from s3. Without this we will compress and upload the bundler archive to S3 even if it hasn't changed"

echo "Restoring the bundle cache archive to vendor/bundle"
if [ -f bundle.tar.bz2 ]; then
tar -xjf bundle.tar.bz2
fi
bundle config --local path vendor/bundle

bundle install --jobs=7 --retry=3
bundle exec $1

if [[ -f bundle.tar.bz2 && -f bundle.sha256 ]]; then # dont' check the sha if we're missing either file
if shasum --check bundle.sha256 --status; then # if the the sha matches we're done
echo "Bundled gems have not changed. Skipping upload to s3"
exit
fi
fi

echo "Generating sha256 hash file of the vendor/bundle directory to ship to s3"
shasum -a 256 vendor/bundle > bundle.sha256

echo "Creating the tar.bz2 to of the vendor/bundle directory to ship to s3"
tar -cjf bundle.tar.bz2 vendor/

echo "Uploading the tar.bz2 of the vendor/bundle directory to s3"
aws s3 cp bundle.tar.bz2 "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.tar.bz2" || echo 'Could not push the bundler directory to s3 for caching. Future builds may be slower if this continues.'

echo "Uploading the sha256 hash of the vendor/bundle directory to s3"
aws s3 cp bundle.sha256 "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.sha256" || echo 'Could not push the bundler directory to s3 for caching. Future builds may be slower if this continues.'
27 changes: 27 additions & 0 deletions .expeditor/verify.pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
steps:

- label: lint-chefstyle
command:
- .expeditor/run_linux_tests.sh "rake style"
expeditor:
executor:
docker:
image: ruby:2.6-buster


- label: run-specs-ruby-2.5
command:
- .expeditor/run_linux_tests.sh "rake spec"
expeditor:
executor:
docker:
image: ruby:2.5-buster

- label: run-specs-ruby-2.6
command:
- .expeditor/run_linux_tests.sh "rake spec"
expeditor:
executor:
docker:
image: ruby:2.6-buster

21 changes: 0 additions & 21 deletions .travis.yml

This file was deleted.