From cddc8973a5c892dfbc6f2b48ab6bbe2bb5cf58d2 Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Thu, 11 Feb 2021 22:16:16 -0800 Subject: [PATCH] Cache gems and test on Ruby 3 Modernize how we test here a bit Signed-off-by: Tim Smith --- .expeditor/run_linux_tests.sh | 40 +--------------------------------- .expeditor/verify.pipeline.yml | 19 +++++++++++++++- Gemfile | 6 ----- Rakefile | 6 ----- 4 files changed, 19 insertions(+), 52 deletions(-) diff --git a/.expeditor/run_linux_tests.sh b/.expeditor/run_linux_tests.sh index 52ca4ef..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 --without docs debug - -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 +bundle install --jobs=7 --retry=3 echo "+++ bundle exec task" bundle exec $@ diff --git a/.expeditor/verify.pipeline.yml b/.expeditor/verify.pipeline.yml index 2688594..a98e70b 100644 --- a/.expeditor/verify.pipeline.yml +++ b/.expeditor/verify.pipeline.yml @@ -1,7 +1,12 @@ --- expeditor: + cached_folders: + - vendor defaults: buildkite: + retry: + automatic: + limit: 1 timeout_in_minutes: 30 steps: @@ -46,9 +51,21 @@ steps: docker: image: ruby:2.7-buster +- label: run-lint-and-specs-ruby-3.0 + command: + - apt-get update + - apt-get install -y libarchive-dev + - .expeditor/run_linux_tests.sh rake + expeditor: + executor: + docker: + image: ruby:2.7-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 - bundle exec rake expeditor: executor: diff --git a/Gemfile b/Gemfile index e52e32b..7c3344f 100644 --- a/Gemfile +++ b/Gemfile @@ -5,12 +5,6 @@ gemspec name: "mixlib-archive" # need the extract=to-destination support in ffi-libarchive 1.0.17 gem "ffi-libarchive", ">= 1.0.17" -group :docs do - gem "github-markup" - gem "redcarpet" - gem "yard" -end - group :test do gem "chefstyle", "1.6.2" gem "rake" diff --git a/Rakefile b/Rakefile index a8d3911..57dde81 100644 --- a/Rakefile +++ b/Rakefile @@ -25,12 +25,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"