From 23d31e803bb113bae3619505e2c71ab17777c4f1 Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Wed, 7 Apr 2021 14:29:20 -0700 Subject: [PATCH 1/3] Add Ruby 3.0 testing Signed-off-by: Tim Smith --- .expeditor/verify.pipeline.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.expeditor/verify.pipeline.yml b/.expeditor/verify.pipeline.yml index 855a197..88a780a 100644 --- a/.expeditor/verify.pipeline.yml +++ b/.expeditor/verify.pipeline.yml @@ -29,6 +29,7 @@ steps: executor: docker: image: ruby:2.6-buster + - label: run-lint-and-specs-ruby-2.7 command: - .expeditor/run_linux_tests.sh rake @@ -37,6 +38,14 @@ 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 From ea64443370f1620410f664b9d002ecb52cd737d3 Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Wed, 7 Apr 2021 14:30:46 -0700 Subject: [PATCH 2/3] Cache builds in Buildkite Signed-off-by: Tim Smith --- .expeditor/run_linux_tests.sh | 40 +--------------------------------- .expeditor/verify.pipeline.yml | 3 +++ 2 files changed, 4 insertions(+), 39 deletions(-) diff --git a/.expeditor/run_linux_tests.sh b/.expeditor/run_linux_tests.sh index 4c14c80..fc2f6b2 100755 --- a/.expeditor/run_linux_tests.sh +++ b/.expeditor/run_linux_tests.sh @@ -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 $@ diff --git a/.expeditor/verify.pipeline.yml b/.expeditor/verify.pipeline.yml index 88a780a..07a63ed 100644 --- a/.expeditor/verify.pipeline.yml +++ b/.expeditor/verify.pipeline.yml @@ -1,5 +1,7 @@ --- expeditor: + cached_folders: + - vendor defaults: buildkite: timeout_in_minutes: 30 @@ -48,6 +50,7 @@ steps: - label: run-specs-windows command: + - bundle config --local path vendor/bundle - bundle install --jobs=7 --retry=3 --without docs debug - bundle exec rake expeditor: From cf64949a4968af11e9273706479c350dc193bbd9 Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Wed, 7 Apr 2021 14:40:46 -0700 Subject: [PATCH 3/3] Remove extra deps preventing gem installs Signed-off-by: Tim Smith --- Gemfile | 7 ------- Rakefile | 7 ------- 2 files changed, 14 deletions(-) diff --git a/Gemfile b/Gemfile index 7fe0cf8..604b8ae 100755 --- a/Gemfile +++ b/Gemfile @@ -3,12 +3,6 @@ source "https://rubygems.org" gemspec -group :docs do - gem "github-markup" - gem "redcarpet" - gem "yard" -end - group :test do gem "activesupport", "< 6" # this dep can be removed when we drop Ruby 2.4 support gem "chefstyle" @@ -20,6 +14,5 @@ end group :debug do gem "pry" gem "pry-byebug" - gem "pry-stack_explorer", "~> 0.4.0" # pin until we drop ruby < 2.6 gem "rb-readline" end diff --git a/Rakefile b/Rakefile index 3939fd3..f2672d7 100644 --- a/Rakefile +++ b/Rakefile @@ -38,13 +38,6 @@ rescue LoadError puts "chefstyle gem is not installed. bundle install first to make sure all dependencies are installed." end -begin - require "yard" unless defined?(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"