Skip to content

Commit f980446

Browse files
teetanghclaude
andauthored
chore: Update to Ruby 3.4.1 and modernize development setup (#9)
- Update Ruby version from 3.3.0 to 3.4.1 across all config files - .ruby-version, Gemfile, Dockerfile, CI workflow - Standardize on rbenv as the Ruby version manager - Completely rewrite Ruby-on-Rails-install.md with rbenv instructions - Add clear setup instructions for both macOS and Linux - Fix README.md incorrect Ruby version (3.1.2 -> 3.4.1) - Add .tool-versions file for asdf/mise compatibility - Modernize GitHub Actions CI workflow - Upgrade actions/checkout from v4 to v5 - Enable bundler-cache for faster CI runs - Upgrade ravsamhq/notify-slack-action from v1 to v2 - Remove manual bundle install step (handled by bundler-cache) - Enhance Dependabot configuration - Add GitHub Actions monitoring - Add Docker base image monitoring - Add dependency grouping for Rails and testing gems - Add automatic PR labels and limits 🤖 Generated with Claude Code Co-authored-by: Claude <[email protected]>
1 parent 14cae5b commit f980446

File tree

8 files changed

+423
-43
lines changed

8 files changed

+423
-43
lines changed

.github/dependabot.yml

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,48 @@ updates:
44
- package-ecosystem: "bundler"
55
directory: "/"
66
schedule:
7-
interval: "weekly"
7+
interval: "weekly"
8+
groups:
9+
# Group Rails and related gems together
10+
rails:
11+
patterns:
12+
- "rails*"
13+
- "actionpack"
14+
- "actionview"
15+
- "activerecord"
16+
- "activejob"
17+
- "actioncable"
18+
- "actionmailer"
19+
- "activestorage"
20+
- "actionmailbox"
21+
- "actiontext"
22+
# Group testing gems together
23+
testing:
24+
patterns:
25+
- "rspec*"
26+
- "capybara"
27+
- "selenium-webdriver"
28+
labels:
29+
- "dependencies"
30+
- "ruby"
31+
open-pull-requests-limit: 10
32+
33+
# Keep GitHub Actions up to date
34+
- package-ecosystem: "github-actions"
35+
directory: "/"
36+
schedule:
37+
interval: "weekly"
38+
labels:
39+
- "dependencies"
40+
- "github-actions"
41+
open-pull-requests-limit: 5
42+
43+
# Keep Docker base image up to date
44+
- package-ecosystem: "docker"
45+
directory: "/"
46+
schedule:
47+
interval: "weekly"
48+
labels:
49+
- "dependencies"
50+
- "docker"
51+
open-pull-requests-limit: 5

.github/workflows/ci.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,19 @@ jobs:
2020

2121
steps:
2222
- name: Checkout code
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@v5
2424
- name: Set up Ruby
2525
uses: ruby/setup-ruby@v1
2626
with:
27-
ruby-version: 3.3.0
28-
- name: Install dependencies
29-
run: bundle install
27+
ruby-version: 3.4.1
28+
bundler-cache: true
3029

3130
- name: Run tests
3231
run: bundle exec rspec test/integration
3332

3433
- name: Report Status
3534
if: always()
36-
uses: ravsamhq/notify-slack-action@v1
35+
uses: ravsamhq/notify-slack-action@v2
3736
with:
3837
status: ${{ job.status }}
3938
notify_when: "failure,warnings"

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.0
1+
3.4.1

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ruby 3.4.1

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# syntax = docker/dockerfile:1
22

33
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
4-
ARG RUBY_VERSION=3.3.0
4+
ARG RUBY_VERSION=3.4.1
55
FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base
66

77
# Rails app lives here

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
source 'https://rubygems.org'
22

3-
ruby '3.3.0'
3+
ruby '3.4.1'
44

55
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
66
gem 'rails', '~> 7.1.3', '>= 7.1.3.2'

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,16 @@ To run this prebuilt project, you will need:
1515

1616
- [Couchbase Capella cluster](https://www.couchbase.com/products/capella/) with [travel-sample bucket](https://docs.couchbase.com/ruby-sdk/current/ref/travel-app-data-model.html) loaded.
1717
- To run this tutorial using a [self-managed Couchbase cluster](https://docs.couchbase.com/capella/current/getting-started/self-managed-cluster.html), please refer to the appendix.
18-
- [Ruby 3.1.2](https://www.ruby-lang.org/en/documentation/installation/) is installed on the local machine.
18+
- [Ruby 3.4.1](https://www.ruby-lang.org/en/documentation/installation/) is installed on the local machine.
19+
- [rbenv](https://github.com/rbenv/rbenv) is recommended for managing Ruby versions (see Ruby-on-Rails-install.md for installation guide).
1920
- Basic knowledge of [Ruby](https://www.ruby-lang.org/en/documentation/), [Ruby on Rails](https://rubyonrails.org/), and [RSpec](https://rspec.info/).
2021

22+
### Ruby Version Management
23+
24+
This project uses Ruby 3.4.1. We recommend using rbenv for managing Ruby versions. The `.ruby-version` file in the repository root will automatically configure rbenv to use the correct Ruby version.
25+
26+
If you don't have rbenv installed, see `Ruby-on-Rails-install.md` for detailed installation instructions.
27+
2128
## Loading Travel Sample Bucket
2229

2330
If travel-sample is not loaded in your Capella cluster, you can load it by following the instructions for your Capella Cluster:

0 commit comments

Comments
 (0)