Skip to content

Commit

Permalink
Test on Ruby 3.0 & use Buildkite caching
Browse files Browse the repository at this point in the history
Use our native caching, remove the unused yard deps, and add Ruby 3.0 testing

Signed-off-by: Tim Smith <tsmith@chef.io>
  • Loading branch information
tas50 committed Feb 28, 2021
1 parent 4380052 commit c8bf5ca
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 57 deletions.
40 changes: 1 addition & 39 deletions .expeditor/run_linux_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,11 @@
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
bundle exec $@
17 changes: 16 additions & 1 deletion .expeditor/verify.pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
---
expeditor:
cached_folders:
- vendor
defaults:
buildkite:
retry:
automatic:
limit: 1
timeout_in_minutes: 30

steps:
Expand Down Expand Up @@ -29,6 +34,7 @@ steps:
executor:
docker:
image: ruby:2.6-buster

- label: run-lint-and-specs-ruby-2.7
command:
- .expeditor/run_linux_tests.sh rake
Expand All @@ -37,9 +43,18 @@ steps:
docker:
image: ruby:2.7-buster

- label: run-lint-and-specs-ruby-3.0
command:
- .expeditor/run_linux_tests.sh rake
expeditor:
executor:
docker:
image: ruby:3.0-buster

- label: run-specs-windows
command:
- bundle install --jobs=7 --retry=3 --without docs debug
- bundle config --local path vendor/bundle
- bundle install --jobs=7 --retry=3 --without debug
- bundle exec rake style
- bundle exec rake unit
expeditor:
Expand Down
13 changes: 3 additions & 10 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@ gemspec

gem "chef-utils", "= 16.6.14" if RUBY_VERSION < "2.6.0"

group :docs do
gem "github-markup"
gem "redcarpet"
gem "yard"
end

group :test do
gem "rake"
gem "rspec"
Expand All @@ -20,10 +14,9 @@ group :test do
gem "climate_control"
end

if RUBY_VERSION =~ /^2/
group :chefstyle do
gem "chefstyle", "~> 0.4.0"
end
# use old chefstyle to support TargetRubyVersion of 1.9
group :chefstyle do
gem "chefstyle", "~> 0.4.0"
end

group :debug do
Expand Down
7 changes: 0 additions & 7 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,6 @@ task "matrix" do
end
end

begin
require "yard"
YARD::Rake::YardocTask.new(:docs)
rescue LoadError
puts "yard is not available. bundle install first to make sure all dependencies are installed."
end

task :console do
require "irb"
require "irb/completion"
Expand Down

0 comments on commit c8bf5ca

Please sign in to comment.