Skip to content

Commit

Permalink
Merge pull request #631 from chef/ruby27
Browse files Browse the repository at this point in the history
Cache gem installs in testing + test on Ruby 2.7
  • Loading branch information
tas50 authored Dec 31, 2019
2 parents a43eb53 + ac64b63 commit d2ed8a5
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 9 deletions.
53 changes: 53 additions & 0 deletions .expeditor/run_linux_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/bin/bash
#
# This script runs a passed in command, but first setups up the bundler caching on the repo

set -ue

export USER="root"

echo "--- dependencies"
export LANG=C.UTF-8 LANGUAGE=C.UTF-8
S3_URL="s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}"

pull_s3_file() {
aws s3 cp "${S3_URL}/$1" "$1" || echo "Could not pull $1 from S3"
}

push_s3_file() {
if [ -f "$1" ]; then
aws s3 cp "$1" "${S3_URL}/$1" || echo "Could not push $1 to S3 for caching."
fi
}

apt-get update -y
apt-get install awscli -y

echo "--- bundle install"
pull_s3_file "bundle.tar.gz"
pull_s3_file "bundle.sha256"

if [ -f bundle.tar.gz ]; then
tar -xzf bundle.tar.gz
fi

if [ -n "${RESET_BUNDLE_CACHE:-}" ]; then
rm bundle.sha256
fi

bundle config --local path vendor/bundle
bundle install --jobs=7 --retry=3

echo "--- bundle cache"
if test -f bundle.sha256 && shasum --check bundle.sha256 --status; then
echo "Bundled gems have not changed. Skipping upload to s3"
else
echo "Bundled gems have changed. Uploading to s3"
shasum -a 256 Gemfile.lock > bundle.sha256
tar -czf bundle.tar.gz vendor/
push_s3_file bundle.tar.gz
push_s3_file bundle.sha256
fi

echo "+++ bundle exec task"
bundle exec $1
2 changes: 1 addition & 1 deletion .expeditor/update_version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ set -evx

sed -i -r "s/^(\s*)VERSION = \".+\"/\1VERSION = \"$(cat VERSION)\"/" lib/knife-ec2/version.rb

# Once Expeditor finshes executing this script, it will commit the changes and push
# Once Expeditor finishes executing this script, it will commit the changes and push
# the commit as a new tag corresponding to the value in the VERSION file.
19 changes: 12 additions & 7 deletions .expeditor/verify.pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
---

steps:

- label: run-specs-ruby-2.5
command:
- bundle install --jobs=7 --retry=3 --without docs development
- bundle exec rake
- .expeditor/run_linux_tests.sh rake
expeditor:
executor:
docker:
image: ruby:2.5-stretch

image: ruby:2.5-buster
- label: run-specs-ruby-2.6
command:
- bundle install --jobs=7 --retry=3 --without docs development
- bundle exec rake
- .expeditor/run_linux_tests.sh rake
expeditor:
executor:
docker:
image: ruby:2.6-buster
- label: run-specs-ruby-2.7
command:
- .expeditor/run_linux_tests.sh rake
expeditor:
executor:
docker:
image: ruby:2.6-stretch
image: ruby:2.7-buster
1 change: 0 additions & 1 deletion .github/lock.yml

This file was deleted.

0 comments on commit d2ed8a5

Please sign in to comment.