Skip to content

Commit

Permalink
Merge pull request #14416 from opf/upgrade-ruby-and-bundler
Browse files Browse the repository at this point in the history
Bump ruby to 3.2.2 & bundler to 2.4.22
  • Loading branch information
cbliard committed Dec 18, 2023
2 parents 02cc6db + 002b541 commit 663e77f
Show file tree
Hide file tree
Showing 12 changed files with 28 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.2.1
3.2.2
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

source 'https://rubygems.org'

ruby '~> 3.2.1'
ruby file: '.ruby-version'

gem 'actionpack-xml_parser', '~> 2.0.0'
gem 'activemodel-serializers-xml', '~> 1.0.1'
Expand Down
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1253,7 +1253,7 @@ DEPENDENCIES
with_advisory_lock (~> 5.0.0)

RUBY VERSION
ruby 3.2.1p31
ruby 3.2.2p53

BUNDLED WITH
2.4.7
2.4.22
2 changes: 1 addition & 1 deletion docker/ci/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ ARG RUBY_VERSION
FROM ruby:${RUBY_VERSION}-bullseye

ENV NODE_VERSION="20.9.0"
ENV BUNDLER_VERSION="2.4.21"
ENV BUNDLER_VERSION="2.4.22"
ENV DEBIAN_FRONTEND=noninteractive
ENV BUNDLE_WITHOUT="development:production:docker"

Expand Down
4 changes: 3 additions & 1 deletion docker/ci/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,9 @@ setup_tests() {
execute_quiet "cp docker/ci/database.yml config/"
create_db_cluster

run_background execute "BUNDLE_JOBS=8 bundle install --quiet && bundle clean --force && echo BUNDLE DONE"
execute "gem install bundler --version '${BUNDLER_VERSION}' --no-document"

run_background execute "BUNDLE_JOBS=8 bundle install --quiet && bundle clean --force && echo BUNDLE DONE"
run_background execute "JOBS=8 time npm install --quiet && npm prune --quiet && echo NPM DONE"
wait_for_background

Expand Down
4 changes: 2 additions & 2 deletions docker/dev/backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ruby:3.2.1-bullseye as develop
FROM ruby:3.2.2-bullseye as develop
MAINTAINER [email protected]

ARG DEV_UID=1000
Expand All @@ -8,7 +8,7 @@ ENV USER=dev
ENV RAILS_ENV=development
ENV NODE_MAJOR=20

ENV BUNDLER_VERSION "2.4.7"
ENV BUNDLER_VERSION "2.4.22"

# `--no-log-init` is required as a workaround to avoid disk exhaustion.
#
Expand Down
2 changes: 1 addition & 1 deletion docker/prod/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG RUBY_VERSION="3.2.2"
ARG NODE_VERSION="20.9.0"
ARG BUNDLER_VERSION="2.4.7"
ARG BUNDLER_VERSION="2.4.22"
ARG DEBIAN_FRONTEND=noninteractive

# -------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion docs/development/development-environment-docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ Ruby version is updated you may run into an error like the following when
running `docker compose run --rm backend setup`:

```
Your Ruby version is 2.7.6, but your Gemfile specified ~> 3.2.1
Your Ruby version is 2.7.6, but your Gemfile specified ~> 3.2.2
```

This means that the current image is out-dated. You can update it like this:
Expand Down
12 changes: 6 additions & 6 deletions docs/development/development-environment-osx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ We'll use [homebrew](https://brew.sh/) to install most of our requirements. Plea

## Install Ruby

Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install Ruby. We always require the latest ruby versions, and you can check which version is required by [checking the Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile#L31) for the `ruby "~> X.Y"` statement. At the time of writing, this version is "3.2.1"
Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install Ruby. We always require the latest ruby versions, and you can check which version is required by [checking the Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile#L31) for the `ruby "~> X.Y"` statement. At the time of writing, this version is "3.2.2"

### Install rbenv and ruby-build

Expand All @@ -39,20 +39,20 @@ $ rbenv init
### Installing ruby

With both installed, we can now install the actual ruby version. You can check available ruby versions with `rbenv install --list`.
At the time of this writing, the latest stable version is `3.2.1`, which we also require.
At the time of this writing, the latest stable version is `3.2.2`, which we also require.

We suggest you install the version we require in the [Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile). Search for the `ruby '~> X.Y.Z'` line
and install that version.

```shell
# Install the required version as read from the Gemfile
rbenv install 3.2.1
rbenv install 3.2.2
```

This might take a while depending on whether ruby is built from source. After it is complete, you need to tell rbenv to globally activate this version

```shell
rbenv global 3.2.1
rbenv global 3.2.2
```

You also need to install [bundler](https://github.com/bundler/bundler/), the ruby gem bundler.
Expand Down Expand Up @@ -123,10 +123,10 @@ You should now have an active ruby and node installation. Verify that it works w

```shell
$ ruby --version
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [arm64-darwin22]
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]

$ bundler --version
Bundler version 2.4.7
Bundler version 2.4.22

node --version
v20.9.0
Expand Down
12 changes: 6 additions & 6 deletions docs/development/development-environment-ubuntu/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ sudo apt-get install git curl build-essential zlib1g-dev libyaml-dev libssl-dev

## Install Ruby

Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install Ruby. We always require the latest ruby versions, and you can check which version is required by [checking the Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile#L31) for the `ruby "~> X.Y"` statement. At the time of writing, this version is "3.2.1"
Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install Ruby. We always require the latest ruby versions, and you can check which version is required by [checking the Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile#L31) for the `ruby "~> X.Y"` statement. At the time of writing, this version is "3.2.2"

### Install rbenv and ruby-build

Expand Down Expand Up @@ -67,20 +67,20 @@ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
### Installing ruby

With both installed, we can now install ruby. You can check available ruby versions with `rbenv install --list`.
At the time of this writing, the latest stable version is `3.2.1` which we also require.
At the time of this writing, the latest stable version is `3.2.2` which we also require.

We suggest you install the version we require in the [Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile). Search for the `ruby '~> X.Y.Z'` line
and install that version.

```shell
# Install the required version as read from the Gemfile
rbenv install 3.2.1
rbenv install 3.2.2
```

This might take a while depending on whether ruby is built from source. After it is complete, you need to tell rbenv to globally activate this version

```shell
rbenv global 3.2.1
rbenv global 3.2.2
rbenv rehash
```

Expand Down Expand Up @@ -166,10 +166,10 @@ You should now have an active ruby and node installation. Verify that it works w

```shell
ruby --version
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]

bundler --version
Bundler version 2.4.7
Bundler version 2.4.22

node --version
v16.13.1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,16 +108,16 @@ time to finish.
[openproject@host] source ~/.profile
[openproject@host] git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

[openproject@host] rbenv install 3.2.1
[openproject@host] rbenv install 3.2.2
[openproject@host] rbenv rehash
[openproject@host] rbenv global 3.2.1
[openproject@host] rbenv global 3.2.2
```

To check our Ruby installation we run `ruby --version`. It should output
something very similar to:

```
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
```

## Installation of Node
Expand Down
2 changes: 1 addition & 1 deletion script/github_pr_errors
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ end

# rubocop:disable Layout/LineLength
# Looks like this in the job log:
# Process 28: TEST_ENV_NUMBER=28 RUBYOPT=-I/usr/local/bundle/bundler/gems/turbo_tests-3148ae6c3482/lib -r/usr/local/bundle/gems/bundler-2.4.7/lib/bundler/setup -W0 RSPEC_SILENCE_FILTER_ANNOUNCEMENTS=1 /usr/local/bundle/gems/bundler-2.4.7/exe/bundle exec rspec --seed 52674 --format TurboTests::JsonRowsFormatter --out tmp/test-pipes/subprocess-28 --format ParallelTests::RSpec::RuntimeLogger --out spec/support/turbo_runtime_features.log spec/features/api_docs/index_spec.rb spec/features/custom_fields/reorder_options_spec.rb spec/features/projects/projects_portfolio_spec.rb spec/features/projects/template_spec.rb spec/features/versions/edit_spec.rb spec/features/work_packages/details/markdown/description_editor_spec.rb spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb spec/features/work_packages/table/inline_create/inline_create_refresh_spec.rb spec/features/work_packages/table/invalid_query_spec.rb spec/features/work_packages/tabs/activity_revisions_spec.rb
# Process 28: TEST_ENV_NUMBER=28 RUBYOPT=-I/usr/local/bundle/bundler/gems/turbo_tests-3148ae6c3482/lib -r/usr/local/bundle/gems/bundler-2.4.22/lib/bundler/setup -W0 RSPEC_SILENCE_FILTER_ANNOUNCEMENTS=1 /usr/local/bundle/gems/bundler-2.4.22/exe/bundle exec rspec --seed 52674 --format TurboTests::JsonRowsFormatter --out tmp/test-pipes/subprocess-28 --format ParallelTests::RSpec::RuntimeLogger --out spec/support/turbo_runtime_features.log spec/features/api_docs/index_spec.rb spec/features/custom_fields/reorder_options_spec.rb spec/features/projects/projects_portfolio_spec.rb spec/features/projects/template_spec.rb spec/features/versions/edit_spec.rb spec/features/work_packages/details/markdown/description_editor_spec.rb spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb spec/features/work_packages/table/inline_create/inline_create_refresh_spec.rb spec/features/work_packages/table/invalid_query_spec.rb spec/features/work_packages/tabs/activity_revisions_spec.rb
# rubocop:enable Layout/LineLength
class TestsGroup
attr_accessor :test_env_number, :seed, :files
Expand Down

0 comments on commit 663e77f

Please sign in to comment.