retest 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af4a7f8046c06b50e0d59639373c1cd9fac41a99f3a68a7529b98095b2ef10ae
4
- data.tar.gz: 93e64c8ac28fe1ae32bc79e5719a8a775c5524544a0c7bd96ede1a3668dd8c6c
3
+ metadata.gz: e3c873cec57f9fc325d7b69a04910bc00014af31c4e065c9aa978751a4828f20
4
+ data.tar.gz: 2bbbb2031a9f0833ae37b954349d7134b8e2b4d3b6aa50b7b2edcfdd0b08e357
5
5
  SHA512:
6
- metadata.gz: b7142bef6579a44f0534253113f4646823a83fbe50b9417cdb0009ba9d99d01fe800fbf93500657343a626cd60efac2848852b1527f355144d901f128d8ea45d
7
- data.tar.gz: 48c33eb530ca3752430afd48b3968fb8359b6fb88007e304b7b47b14da2d7283a4401f46d034429623efd804165c26e0928734b541f3f223f2f9f8ba12db7e96
6
+ metadata.gz: 1c389288c74f66002ff5862d081dc116687748360cfd4e8df04cd5a2e3e462b58ba253a39923a6d625775ba9fd123a2866901517ee58bd12f07769a1d8799e52
7
+ data.tar.gz: d6a80bca3f44cbe7ecd46d6bbcc72d237060b5e9eca7253f5b0579b72de0e20c59cacd083440597c90e72606ec36bd2c61b4bda6b4b6c6192a8a2d7b586f423a
@@ -20,23 +20,24 @@ jobs:
20
20
  matrix:
21
21
  os: [ubuntu-latest]
22
22
  ruby:
23
- - '2.5'
24
- - '2.6'
25
- - '2.7'
26
- - '3.0'
27
- - '3.1'
28
- - '3.2'
29
- - '3.3'
30
- include:
31
- - os: macos-13
32
- ruby: 2.5
33
- name: Ruby ${{ matrix.ruby }} test (${{ matrix.os }})
23
+ - version: '2.5'
24
+ - version: '2.6'
25
+ - version: '2.7'
26
+ - version: '3.0'
27
+ - version: '3.1'
28
+ - version: '3.2'
29
+ - version: '3.3'
30
+ - version: '3.4'
31
+ gemfile: Gemfile-3.4
32
+ name: Ruby ${{ matrix.ruby.version }} test (${{ matrix.os }})
33
+ env:
34
+ BUNDLE_GEMFILE: ${{ matrix.ruby.gemfile || 'Gemfile' }}
34
35
  steps:
35
36
  - uses: actions/checkout@v4
36
37
  - name: Set up Ruby
37
38
  uses: ruby/setup-ruby@v1
38
39
  with:
39
- ruby-version: ${{ matrix.ruby }}
40
+ ruby-version: ${{ matrix.ruby.version }}
40
41
  bundler-cache: true
41
42
  - run: bundle install
42
43
  - run: bundle exec rake
data/Gemfile-3.4 ADDED
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in retest.gemspec
4
+ gemspec
5
+
6
+ gem "rake", "~> 13.0"
7
+ gem "minitest", "~> 5.0"
8
+ gem "byebug", require: false
data/Gemfile-3.4.lock ADDED
@@ -0,0 +1,71 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ retest (2.2.1)
5
+ listen (~> 3.9)
6
+ observer (~> 0.1)
7
+ string-similarity (~> 2.1)
8
+ tty-option (~> 0.1)
9
+ tty-prompt (~> 0.1)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ byebug (11.1.3)
15
+ ffi (1.17.1)
16
+ ffi (1.17.1-aarch64-linux-gnu)
17
+ ffi (1.17.1-aarch64-linux-musl)
18
+ ffi (1.17.1-arm-linux-gnu)
19
+ ffi (1.17.1-arm-linux-musl)
20
+ ffi (1.17.1-arm64-darwin)
21
+ ffi (1.17.1-x86-linux-gnu)
22
+ ffi (1.17.1-x86-linux-musl)
23
+ ffi (1.17.1-x86_64-darwin)
24
+ ffi (1.17.1-x86_64-linux-gnu)
25
+ ffi (1.17.1-x86_64-linux-musl)
26
+ listen (3.9.0)
27
+ rb-fsevent (~> 0.10, >= 0.10.3)
28
+ rb-inotify (~> 0.9, >= 0.9.10)
29
+ minitest (5.25.5)
30
+ observer (0.1.2)
31
+ pastel (0.8.0)
32
+ tty-color (~> 0.5)
33
+ rake (13.2.1)
34
+ rb-fsevent (0.11.2)
35
+ rb-inotify (0.11.1)
36
+ ffi (~> 1.0)
37
+ string-similarity (2.1.0)
38
+ tty-color (0.6.0)
39
+ tty-cursor (0.7.1)
40
+ tty-option (0.3.0)
41
+ tty-prompt (0.23.1)
42
+ pastel (~> 0.8)
43
+ tty-reader (~> 0.8)
44
+ tty-reader (0.9.0)
45
+ tty-cursor (~> 0.7)
46
+ tty-screen (~> 0.8)
47
+ wisper (~> 2.0)
48
+ tty-screen (0.8.2)
49
+ wisper (2.0.1)
50
+
51
+ PLATFORMS
52
+ aarch64-linux-gnu
53
+ aarch64-linux-musl
54
+ arm-linux-gnu
55
+ arm-linux-musl
56
+ arm64-darwin
57
+ ruby
58
+ x86-linux-gnu
59
+ x86-linux-musl
60
+ x86_64-darwin
61
+ x86_64-linux-gnu
62
+ x86_64-linux-musl
63
+
64
+ DEPENDENCIES
65
+ byebug
66
+ minitest (~> 5.0)
67
+ rake (~> 13.0)
68
+ retest!
69
+
70
+ BUNDLED WITH
71
+ 2.6.6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- retest (2.2.0)
4
+ retest (2.2.2)
5
5
  listen (~> 3.9)
6
6
  observer (~> 0.1)
7
7
  string-similarity (~> 2.1)
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "rubygems"
4
+
5
+ `brew upgrade ruby-build`
6
+
7
+ ruby_list = `rbenv install --list-all`
8
+
9
+ puts ruby_list
10
+ .split("\n")
11
+ .select { |version| version =~ /^\d+\.\d+\.\d+$/ }
12
+ .select { |version| Gem::Version.new(version) >= Gem::Version.new("2.5") }
13
+ .group_by { |version| version[0..2] }
14
+ .transform_values { |version| version.max_by { |number| Gem::Version.new(number) } }
15
+ .values
data/bin/start ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+
3
+ docker run --rm -it -v "$(pwd):/app" -w /app ruby:$1 bash
data/lib/retest/runner.rb CHANGED
@@ -21,7 +21,7 @@ module Retest
21
21
  def interrupt_run
22
22
  return false unless @pid
23
23
 
24
- Process.kill('INT', @pid)
24
+ Process.kill('TERM', @pid)
25
25
  rescue Errno::ESRCH
26
26
  false
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module Retest
2
- VERSION = "2.2.0"
2
+ VERSION = "2.2.2"
3
3
  end
@@ -41,13 +41,7 @@ module Retest
41
41
  # Process group created with: pgroup: true
42
42
  pid = Process.spawn(command, out: watch_wr, pgroup: true)
43
43
 
44
- at_exit do
45
- Process.kill("TERM", pid) if pid
46
- watch_rd.close
47
- watch_wr.close
48
- end
49
-
50
- Thread.new do
44
+ thread = Thread.new do
51
45
  loop do
52
46
  ready = IO.select([watch_rd])
53
47
  readable_connections = ready[0]
@@ -68,6 +62,13 @@ module Retest
68
62
  end
69
63
  end
70
64
  end
65
+
66
+ at_exit do
67
+ thread.exit
68
+ Process.kill("TERM", pid) if pid
69
+ watch_rd.close
70
+ watch_wr.close
71
+ end
71
72
  end
72
73
  end
73
74
 
@@ -86,13 +87,7 @@ module Retest
86
87
  # Process group created with: pgroup: true
87
88
  pid = Process.spawn(command, out: watch_wr, pgroup: true)
88
89
 
89
- at_exit do
90
- Process.kill("TERM", pid) if pid
91
- watch_rd.close
92
- watch_wr.close
93
- end
94
-
95
- Thread.new do
90
+ thread = Thread.new do
96
91
  files = VersionControl.files(extensions: extensions).zip([]).to_h
97
92
 
98
93
  loop do
@@ -125,6 +120,13 @@ module Retest
125
120
  end
126
121
  end
127
122
  end
123
+
124
+ at_exit do
125
+ thread.exit
126
+ Process.kill("TERM", pid) if pid
127
+ watch_rd.close
128
+ watch_wr.close
129
+ end
128
130
  end
129
131
  end
130
132
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retest
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre Barret
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-03-07 00:00:00.000000000 Z
11
+ date: 2025-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string-similarity
@@ -92,6 +92,8 @@ files:
92
92
  - ".github/workflows/ci.yml"
93
93
  - ".gitignore"
94
94
  - Gemfile
95
+ - Gemfile-3.4
96
+ - Gemfile-3.4.lock
95
97
  - Gemfile.lock
96
98
  - LICENSE.txt
97
99
  - README.md
@@ -100,7 +102,9 @@ files:
100
102
  - bin/build/watchexec
101
103
  - bin/console
102
104
  - bin/debug
105
+ - bin/list-ruby-versions
103
106
  - bin/setup
107
+ - bin/start
104
108
  - bin/test/bundler-app
105
109
  - bin/test/git-ruby
106
110
  - bin/test/hanami-app
@@ -161,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
165
  - !ruby/object:Gem::Version
162
166
  version: '0'
163
167
  requirements: []
164
- rubygems_version: 3.1.6
168
+ rubygems_version: 3.4.14
165
169
  signing_key:
166
170
  specification_version: 4
167
171
  summary: A simple command line tool to watch file change and run its matching spec.