diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 192b15541..7bdfb80d0 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,7 +1,7 @@ # Nodes with values to reuse in the pipeline. common_params: env: &xcode_image - IMAGE_ID: xcode-14.1 + IMAGE_ID: xcode-14.3.1 plugins: - &docker_plugin docker#v3.8.0: @@ -21,27 +21,39 @@ steps: ################# # Build and Test ################# - - label: "🧪 Build and Test" + - group: 🧪 Build and Test" key: test - command: | - # We only need this for tasks running on a Mac - brew install pkg-config git-lfs libxml2 imagemagick@6 + steps: + - label: "🧪 Build and Test using Ruby {{ matrix.ruby }}" + command: | + echo "--- :ruby: Using ruby {{ matrix.ruby }}" + export RBENV_VERSION={{ matrix.ruby }} + ruby --version - echo "--- :git: Setting up git-lfs" - git-lfs install + echo "--- :package: Installing homebrew packages" + # We only need this for tasks running on a Mac + brew install pkg-config git-lfs libxml2 imagemagick@6 - echo "--- :rubygems: Setting up Gems" - # https://github.com/Automattic/bash-cache-buildkite-plugin/issues/16 - gem install bundler - install_gems + echo "--- :git: Setting up git-lfs" + git-lfs install - echo "--- :rspec: Run Rspec" - bundle exec rspec --profile 10 --format progress - env: *xcode_image - plugins: - - automattic/a8c-ci-toolkit#2.15.0 - agents: - queue: "mac" + echo "--- :rubygems: Setting up Gems" + # https://github.com/Automattic/bash-cache-buildkite-plugin/issues/16 + gem install bundler + install_gems + + echo "--- :rspec: Run Rspec" + bundle exec rspec --profile 10 --format progress + env: *xcode_image + plugins: + - automattic/a8c-ci-toolkit#2.15.0 + agents: + queue: "mac" + matrix: + setup: + ruby: + - 2.7.4 + - 3.2.2 ################# # Lint @@ -79,7 +91,7 @@ steps: - test - rubocop - danger - # Note: We intentionally call a separate `.sh` script here (as opposed to having all the + # Note: We intentionally call a separate `.sh` script here (as opposed to having all the # commands written inline) to avoid leaking a key used in the process in clear in the # BUILDKITE_COMMAND environment variable. command: .buildkite/gem-push.sh diff --git a/.rubocop.yml b/.rubocop.yml index e27a4a125..85e7010a8 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,6 +6,7 @@ require: # Enable new cops when we update rubocop to a newer version AllCops: NewCops: enable + TargetRubyVersion: 2.7 ########## Lint / CodeStyle diff --git a/CHANGELOG.md b/CHANGELOG.md index 7661ec3c1..0d3e40448 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Adds `if_exists` parameter to `upload_to_s3` action, with possible values `:skip`, `:fail`, and `:replace`. [#495] - The `create_release` action now prints and returns the URL of the created GitHub Release. [#503] - Removes two dependencies bigdecimal and activesupport. [#504] +- Supports Ruby 3. [#492, #493, #497, and #504] ### Bug Fixes