diff options
author | Tim Smith <tsmith84@gmail.com> | 2019-12-19 20:13:03 -0800 |
---|---|---|
committer | Tim Smith <tsmith84@gmail.com> | 2019-12-19 20:13:03 -0800 |
commit | 26cb37535f4f1f46bf91469caa3fbc45738643de (patch) | |
tree | 82ea8cdcb485343bb99f9fbfe7503ad8a1c7df11 | |
parent | 5804b90e01c461b2f264c95c6699edc4913e5908 (diff) | |
download | mixlib-shellout-26cb37535f4f1f46bf91469caa3fbc45738643de.tar.gz |
Test on Ruby 2.7 + random testing improvements
Update the Github templates to use multiple labels
Use Gem caching our BK
Add Ruby 2.7 testing
Use Debian 10 Ruby containers not Debian 9
Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r-- | .expeditor/config.yml | 3 | ||||
-rwxr-xr-x | .expeditor/run_linux_tests.sh | 53 | ||||
-rw-r--r-- | .expeditor/verify.pipeline.yml | 30 | ||||
-rw-r--r-- | .github/CODEOWNERS | 4 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/BUG_TEMPLATE.md | 2 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md | 2 |
6 files changed, 77 insertions, 17 deletions
diff --git a/.expeditor/config.yml b/.expeditor/config.yml index 7032e6c..a3d4b3d 100644 --- a/.expeditor/config.yml +++ b/.expeditor/config.yml @@ -1,5 +1,6 @@ # Documentation available at https://expeditor.chef.io/docs/getting-started/ --- + # Slack channel in Chef Software slack to send notifications about build failures, etc slack: notify_channel: chef-found-notify @@ -12,6 +13,8 @@ rubygems: github: # This deletes the GitHub PR branch after successfully merged into the release branch delete_branch_on_merge: true + # The tag format to use (e.g. v1.0.0) + version_tag_format: "v{{version}}" # allow bumping the minor release via label minor_bump_labels: - "Expeditor: Bump Version Minor" diff --git a/.expeditor/run_linux_tests.sh b/.expeditor/run_linux_tests.sh new file mode 100755 index 0000000..4c14c80 --- /dev/null +++ b/.expeditor/run_linux_tests.sh @@ -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 diff --git a/.expeditor/verify.pipeline.yml b/.expeditor/verify.pipeline.yml index 3f46d3a..57afa06 100644 --- a/.expeditor/verify.pipeline.yml +++ b/.expeditor/verify.pipeline.yml @@ -9,8 +9,7 @@ steps: - label: run-lint-and-specs-ruby-2.2 command: - export USER="root" - - bundle install --jobs=7 --retry=3 --without docs debug style - - bundle exec rake spec + - .expeditor/run_linux_tests.sh rake expeditor: executor: docker: @@ -19,8 +18,7 @@ steps: - label: run-lint-and-specs-ruby-2.3 command: - export USER="root" - - bundle install --jobs=7 --retry=3 --without docs debug - - bundle exec rake + - .expeditor/run_linux_tests.sh rake expeditor: executor: docker: @@ -29,32 +27,38 @@ steps: - label: run-lint-and-specs-ruby-2.4 command: - export USER="root" - - bundle install --jobs=7 --retry=3 --without docs debug - - bundle exec rake + - .expeditor/run_linux_tests.sh rake expeditor: executor: docker: - image: ruby:2.4-stretch + image: ruby:2.4-buster - label: run-lint-and-specs-ruby-2.5 command: - export USER="root" - - bundle install --jobs=7 --retry=3 --without docs debug - - bundle exec rake + - .expeditor/run_linux_tests.sh rake expeditor: executor: docker: - image: ruby:2.5-stretch + image: ruby:2.5-buster - label: run-lint-and-specs-ruby-2.6 command: - export USER="root" - - bundle install --jobs=7 --retry=3 --without docs debug - - bundle exec rake + - .expeditor/run_linux_tests.sh rake + expeditor: + executor: + docker: + image: ruby:2.6-buster + +- label: run-lint-and-specs-ruby-2.7rc + command: + - export USER="root" + - .expeditor/run_linux_tests.sh rake expeditor: executor: docker: - image: ruby:2.6-stretch + image: ruby:2.7-rc-buster - label: run-specs-windows command: diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f1217b3..950afb7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,5 @@ # Order is important. The last matching pattern has the most precedence. -* @chef/chef-foundation-reviewers -.expeditor/** @chef/jex-team +* @chef/chef-foundation-owners @chef/chef-foundation-approvers @chef/chef-foundation-reviewers +.expeditor/ @chef/jex-team *.md @chef/docs-team diff --git a/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md b/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md index f28915b..87ac9b4 100644 --- a/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md @@ -1,7 +1,7 @@ --- name: � Bug Report about: If something isn't working as expected �. -labels: "Status: Untriaged" +labels: "Status: Untriaged, Type: Bug" --- # Version: diff --git a/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md b/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md index 9f4a958..9508b09 100644 --- a/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +++ b/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md @@ -1,7 +1,7 @@ --- name: Design Proposal about: I have a significant change I would like to propose and discuss before starting -labels: "Status: Untriaged" +labels: "Status: Untriaged, Type: Design Proposal" --- ### When a Change Needs a Design Proposal |