Skip to content

Commit c19ff40

Browse files
authored
chore: migrate to mise (#170)
* chore: migrate Ruby version management to mise Replace .tool-versions with mise.toml, pinning to Ruby major version 4 to avoid unexpected breaking changes from future major version bumps. * fix: remove pry and pry-byebug incompatible with Ruby 4 byebug's native extension fails to compile against Ruby 4's updated C API. Neither gem is referenced in the test suite, so they are safe to remove. Also regenerates Gemfile.lock with current compatible versions. * docs: add local development setup instructions Document the mise + bundle install workflow so contributors know how to get a working local environment. * ci: replace ruby/setup-ruby with jdx/mise-action Use mise to install Ruby in CI, keeping the toolchain consistent with local development. Removes the hardcoded ruby-version matrix — the version is now sourced from mise.toml. Also bumps actions/checkout to v6.0.2.
1 parent 28c2279 commit c19ff40

6 files changed

Lines changed: 47 additions & 49 deletions

File tree

.github/workflows/test.yml

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
# This workflow uses actions that are not certified by GitHub.
2-
# They are provided by a third-party and are governed by
3-
# separate terms of service, privacy policy, and support
4-
# documentation.
5-
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6-
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7-
81
name: Test
92

103
on:
@@ -18,25 +11,19 @@ jobs:
1811
test:
1912

2013
runs-on: ubuntu-latest
21-
strategy:
22-
matrix:
23-
ruby-version: ["3.0"]
2414

2515
steps:
2616
- name: Checkout Code
27-
uses: actions/checkout@v2
17+
uses: actions/checkout@v6.0.2
2818

29-
- name: Install dependencies
19+
- name: Install system dependencies
3020
run: sudo apt install vim-gtk3 xvfb
3121

32-
- name: Set up Ruby
33-
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
34-
# change this to (see https://github.com/ruby/setup-ruby#versioning):
35-
# uses: ruby/setup-ruby@v1
36-
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
37-
with:
38-
ruby-version: ${{ matrix.ruby-version }}
39-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
22+
- name: Set up Ruby via mise
23+
uses: jdx/mise-action@v4.0.1
24+
25+
- name: Install gems
26+
run: bundle install
4027

4128
- name: Run headless tests
4229
run: xvfb-run -a bundle exec rspec

.tool-versions

Lines changed: 0 additions & 1 deletion
This file was deleted.

Gemfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
source 'https://rubygems.org'
44

55
group :test do
6-
gem 'pry'
7-
gem 'pry-byebug'
86
gem 'rake', '~> 12.3.3'
97
gem 'rspec'
108
gem 'rspec-retry'

Gemfile.lock

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,46 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
byebug (10.0.2)
5-
coderay (1.1.2)
6-
diff-lcs (1.3)
7-
method_source (0.9.0)
8-
pry (0.11.3)
9-
coderay (~> 1.1.0)
10-
method_source (~> 0.9.0)
11-
pry-byebug (3.6.0)
12-
byebug (~> 10.0)
13-
pry (~> 0.10)
4+
diff-lcs (1.6.2)
145
rake (12.3.3)
15-
rspec (3.8.0)
16-
rspec-core (~> 3.8.0)
17-
rspec-expectations (~> 3.8.0)
18-
rspec-mocks (~> 3.8.0)
19-
rspec-core (3.8.0)
20-
rspec-support (~> 3.8.0)
21-
rspec-expectations (3.8.2)
6+
rspec (3.13.2)
7+
rspec-core (~> 3.13.0)
8+
rspec-expectations (~> 3.13.0)
9+
rspec-mocks (~> 3.13.0)
10+
rspec-core (3.13.6)
11+
rspec-support (~> 3.13.0)
12+
rspec-expectations (3.13.5)
2213
diff-lcs (>= 1.2.0, < 2.0)
23-
rspec-support (~> 3.8.0)
24-
rspec-mocks (3.8.0)
14+
rspec-support (~> 3.13.0)
15+
rspec-mocks (3.13.8)
2516
diff-lcs (>= 1.2.0, < 2.0)
26-
rspec-support (~> 3.8.0)
17+
rspec-support (~> 3.13.0)
2718
rspec-retry (0.6.2)
2819
rspec-core (> 3.3)
29-
rspec-support (3.8.0)
30-
vimrunner (0.3.4)
20+
rspec-support (3.13.7)
21+
vimrunner (0.3.6)
3122

3223
PLATFORMS
24+
arm64-darwin-23
3325
ruby
3426

3527
DEPENDENCIES
36-
pry
37-
pry-byebug
3828
rake (~> 12.3.3)
3929
rspec
4030
rspec-retry
4131
vimrunner
4232

33+
CHECKSUMS
34+
bundler (4.0.12) sha256=7f8b757d28dfb636e7b24fba2344ac6dd13b5b24f4b46d62573d483f211825ac
35+
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
36+
rake (12.3.3) sha256=f7694adb4fe638da35452300cee6c545e9c377a0e3190018ac04d590b3c26ab3
37+
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
38+
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
39+
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
40+
rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
41+
rspec-retry (0.6.2) sha256=6101ba23a38809811ae3484acde4ab481c54d846ac66d5037ccb40131a60d858
42+
rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
43+
vimrunner (0.3.6) sha256=b6c695eb6b6fa4ad28187a07219ef52726d952678d8fd7a9c7c90e88c5d828d2
44+
4345
BUNDLED WITH
44-
2.1.4
46+
4.0.12

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,10 +347,20 @@ Just add above to your .vimrc
347347

348348
The test suite is written using vimrunner. It is known to run on macOS with MacVim installed, and on travis. Your vim must have `+clientserver` and either have its own GUI or in a virtual X11 window.
349349

350-
On your mac run:
350+
## Local Development Setup
351+
352+
This project uses [mise](https://mise.jdx.dev) to manage the Ruby version. Install it, then run:
351353

352354
```sh
355+
mise install
353356
bundle install
357+
```
358+
359+
## Running Tests
360+
361+
On your mac run:
362+
363+
```sh
354364
bundle exec rspec
355365
```
356366

mise.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[tools]
2+
ruby = "4"

0 commit comments

Comments
 (0)