Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/publish-new-image-version.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ jobs:
fail-fast: false
matrix:
RUBY_VERSION:
- 3.5.0
- 3.4.5
- 3.4.4
- 3.4.3
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ When a new Ruby version is released, we need to add it to the build matrix and p
Use the automated script to update the configuration files:

```bash
bin/add-ruby-version 3.4.5
bin/add-ruby-version 3.5.0
```

This script will:
Expand All @@ -71,8 +71,8 @@ You have two options:
For immediate publishing of specific Ruby versions without cutting a new image version, run the **Publish New Ruby Versions** workflow manually. The workflow takes a list of ruby versions and image tags as inputs, formatted as comma separated arrays:

```
ruby_versions: ["3.4.5"]
image_versions: ["ruby-1.1.0"]
ruby_versions: ["3.5.0"]
image_versions: ["ruby-2.0.2"]
```

#### Option B: Wait for next image release (automatic)
Expand Down
6 changes: 3 additions & 3 deletions bin/add-ruby-version
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* default Ruby version, bumps the feature version, and updates test files.
*
* Usage: bin/add-ruby-version <ruby-version>
* Example: bin/add-ruby-version 3.4.5
* Example: bin/add-ruby-version 3.5.0
*
* The script will:
* 1. Validate the version format
Expand Down Expand Up @@ -316,15 +316,15 @@ function main() {

if (args.length !== 1) {
log('Usage: bin/add-ruby-version <ruby-version>', 'red');
log('Example: bin/add-ruby-version 3.4.5', 'yellow');
log('Example: bin/add-ruby-version 3.5.0', 'yellow');
process.exit(1);
}

const newVersion = args[0];

// Validate version format
if (!validateVersionFormat(newVersion)) {
exitWithError('Invalid version format. Expected format: x.y.z (e.g., 3.4.5)');
exitWithError('Invalid version format. Expected format: x.y.z (e.g., 3.5.0)');
}

// Validate configuration
Expand Down
4 changes: 2 additions & 2 deletions features/src/ruby/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"id": "ruby",
"version": "2.0.1",
"version": "2.0.2",
"name": "Ruby",
"description": "Installs Ruby and a version manager (mise or rbenv) along with libraries needed to build Ruby.",
"documentationURL": "https://github.com/rails/devcontainer/tree/main/features/src/ruby",
Expand All @@ -18,7 +18,7 @@
"options": {
"version": {
"type": "string",
"default": "3.4.5",
"default": "3.5.0",
"description": "The ruby version to be installed"
},
"versionManager": {
Expand Down
2 changes: 1 addition & 1 deletion features/test/ruby/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ check "mise is installed" bash -c "mise --version"
check "mise init is sourced in the bashrc" bash -c "grep 'eval \"\$(~/.local/bin/mise activate bash)\"' $HOME/.bashrc"
check "mise idiomatic version file is enabled for ruby" bash -c "mise settings | grep idiomatic_version_file_enable_tools | grep ruby"
check "Ruby is installed with YJIT" bash -c "RUBY_YJIT_ENABLE=1 ruby -v | grep +YJIT"
check "Ruby version is set to 3.4.5" bash -c "mise use -g ruby | grep 3.4.5"
check "Ruby version is set to 3.5.0" bash -c "mise use -g ruby | grep 3.5.0"

reportResults
2 changes: 1 addition & 1 deletion features/test/ruby/with_rbenv.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ check "rbenv is installed" bash -c "rbenv --version"
check "ruby-build is installed" bash -c "ls -l $HOME/.rbenv/plugins/ruby-build | grep '\-> /usr/local/share/ruby-build'"
eval "$(rbenv init -)"
check "Ruby is installed with YJIT" bash -c "RUBY_YJIT_ENABLE=1 ruby -v | grep +YJIT"
check "Ruby version is set to 3.4.5" bash -c "rbenv global | grep 3.4.5"
check "Ruby version is set to 3.5.0" bash -c "rbenv global | grep 3.5.0"

reportResults
Loading