gemika 0.8.4 → 2.0.0

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +17 -19
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +15 -0
  5. data/Gemfile.7.0.pg.lock +1 -1
  6. data/{Gemfile.5.2.mysql2 → Gemfile.8.0.mysql2} +6 -3
  7. data/Gemfile.8.0.mysql2.lock +92 -0
  8. data/Gemfile.8.0.pg +3 -0
  9. data/Gemfile.8.0.pg.lock +6 -2
  10. data/{Gemfile.5.2.sqlite3 → Gemfile.8.0.sqlite3} +6 -3
  11. data/Gemfile.8.0.sqlite3.lock +93 -0
  12. data/{Gemfile.5.2.pg → Gemfile.8.1.pg} +7 -4
  13. data/Gemfile.8.1.pg.lock +91 -0
  14. data/README.md +71 -210
  15. data/gemika.gemspec +2 -0
  16. data/lib/gemika/database.rb +1 -5
  17. data/lib/gemika/env.rb +3 -32
  18. data/lib/gemika/matrix/github_actions_config.rb +2 -0
  19. data/lib/gemika/matrix.rb +12 -44
  20. data/lib/gemika/tasks.rb +0 -1
  21. data/lib/gemika/version.rb +1 -1
  22. data/spec/fixtures/github_actions_yml/gemfile_without_gemika.yml +1 -1
  23. data/spec/gemika/matrix_spec.rb +0 -79
  24. metadata +10 -23
  25. data/Gemfile.5.2.mysql2.lock +0 -67
  26. data/Gemfile.5.2.pg.lock +0 -67
  27. data/Gemfile.5.2.sqlite3.lock +0 -67
  28. data/Gemfile.6.1.pg +0 -22
  29. data/Gemfile.6.1.pg.lock +0 -72
  30. data/lib/gemika/github_actions_generator.rb +0 -150
  31. data/lib/gemika/matrix/travis_config.rb +0 -42
  32. data/lib/gemika/tasks/gemika.rb +0 -14
  33. data/spec/fixtures/migrate/expected_github_actions.yml +0 -129
  34. data/spec/fixtures/migrate/travis.yml +0 -66
  35. data/spec/fixtures/travis_yml/Gemfile_without_gemika +0 -1
  36. data/spec/fixtures/travis_yml/excludes.yml +0 -12
  37. data/spec/fixtures/travis_yml/gemfile_without_gemika.yml +0 -5
  38. data/spec/fixtures/travis_yml/includes.yml +0 -12
  39. data/spec/fixtures/travis_yml/missing_gemfile.yml +0 -5
  40. data/spec/fixtures/travis_yml/two_by_two.yml +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 393e28bb1c4151adde120249507c3a900dd57d0927f44656210d748c904b5a64
4
- data.tar.gz: 18cf9faa080c1889a5833ff3932ba35a5f78dbf82eeac01c45564f3cf7376563
3
+ metadata.gz: 72540c669831cf50fb5fde99294370c80695928f0eb35663c4b31418b6f32b3a
4
+ data.tar.gz: 714cdc4a12da841b309a42dc9ec93a5d6a9b8d121822c738d03484d71042a223
5
5
  SHA512:
6
- metadata.gz: 532ae9f6a68f25de76abfef5d25a8467940981779692dc712a0dc42699cfa926174e8fbb70e2f47b20497676f994e1fcf0c475467b75dc0c7e0d64cd9ab58472
7
- data.tar.gz: ba86b00bfddade82b81ec2a5fa9949a5516934d1f190f9c6a82bf51d2531a7acbc5efe92fe6cd263bfa359f7909659b1df43e79b2cc32c2bc7e8c53756af4948
6
+ metadata.gz: f6f533b0f74264167ea0d36d56746ba2bf2e5543f733da99b911740d48c5775997bf0e215db768b6f8e397d5103b904ef6f35a572ddb860bf61744b49561e194
7
+ data.tar.gz: 0a23037d73bd6424a552567ba353c172db06d545ad75d7bf3514f94e7f5baaf3f14b5b2effe67ce7a37df3c5a25b128bbe1bd0221795c63390c7b7d668aeb15d
@@ -7,9 +7,11 @@ on:
7
7
  pull_request:
8
8
  branches:
9
9
  - master
10
+
10
11
  jobs:
12
+
11
13
  test_mysql:
12
- runs-on: ubuntu-20.04
14
+ runs-on: ubuntu-24.04
13
15
  services:
14
16
  mysql:
15
17
  image: mysql:5.6
@@ -23,8 +25,8 @@ jobs:
23
25
  fail-fast: false
24
26
  matrix:
25
27
  include:
26
- - ruby: 2.5.3
27
- gemfile: Gemfile.5.2.mysql2
28
+ - ruby: 4.0.1
29
+ gemfile: Gemfile.8.0.mysql2
28
30
  env:
29
31
  BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
30
32
  steps:
@@ -42,8 +44,10 @@ jobs:
42
44
  bundle install --no-deployment
43
45
  - name: Run tests
44
46
  run: bundle exec rspec
47
+
48
+
45
49
  test_pg:
46
- runs-on: ubuntu-20.04
50
+ runs-on: ubuntu-24.04
47
51
  services:
48
52
  postgres:
49
53
  image: postgres
@@ -57,26 +61,18 @@ jobs:
57
61
  fail-fast: false
58
62
  matrix:
59
63
  include:
60
- - ruby: 2.5.3
61
- gemfile: Gemfile.5.2.pg
62
- - ruby: 2.6.7
63
- gemfile: Gemfile.6.1.pg
64
- - ruby: 2.7.3
65
- gemfile: Gemfile.6.1.pg
66
- - ruby: 2.7.3
67
- gemfile: Gemfile.7.0.pg
68
- - ruby: 3.2.0
69
- gemfile: Gemfile.6.1.pg
70
64
  - ruby: 3.2.0
71
65
  gemfile: Gemfile.7.0.pg
72
- - ruby: 3.4.1
73
- gemfile: Gemfile.6.1.pg
74
66
  - ruby: 3.4.1
75
67
  gemfile: Gemfile.7.0.pg
76
68
  - ruby: 3.2.0
77
69
  gemfile: Gemfile.8.0.pg
78
70
  - ruby: 3.4.1
79
71
  gemfile: Gemfile.8.0.pg
72
+ - ruby: 4.0.1
73
+ gemfile: Gemfile.8.0.pg
74
+ - ruby: 4.0.1
75
+ gemfile: Gemfile.8.1.pg
80
76
  env:
81
77
  BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
82
78
  steps:
@@ -96,14 +92,16 @@ jobs:
96
92
  bundle install --no-deployment
97
93
  - name: Run tests
98
94
  run: bundle exec rspec
95
+
96
+
99
97
  test_sqlite:
100
- runs-on: ubuntu-20.04
98
+ runs-on: ubuntu-24.04
101
99
  strategy:
102
100
  fail-fast: false
103
101
  matrix:
104
102
  include:
105
- - ruby: 2.5.3
106
- gemfile: Gemfile.5.2.sqlite3
103
+ - ruby: 4.0.1
104
+ gemfile: Gemfile.8.0.sqlite3
107
105
  env:
108
106
  BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
109
107
  steps:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.4.1
1
+ 4.0.1
data/CHANGELOG.md CHANGED
@@ -13,6 +13,21 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
13
13
 
14
14
  -
15
15
 
16
+ ## 2.0.0 - 2026-02-12
17
+
18
+ ### Breaking changes
19
+
20
+ - Introduce `required_ruby_version` in gemspec so people on legacy Ruby versions don't receive future upgrades
21
+ - This is treated as a breaking change, because `gemika` is supposed to work equally across multiple Ruby versions
22
+ - Drop tests and support for Ruby < 3 and Rails < 7
23
+
24
+ ## 1.0.0 - 2025-06-16
25
+
26
+ ### Breaking changes
27
+
28
+ - Removed support for Travis CI
29
+ - Removed migration from travis to github actions
30
+
16
31
  ## 0.8.4 - 2025-01-16
17
32
 
18
33
  - Add support for Ruby 3.4
data/Gemfile.7.0.pg.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gemika (0.8.4)
4
+ gemika (2.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -4,14 +4,17 @@ source 'https://rubygems.org'
4
4
  ruby '>= 2.2'
5
5
 
6
6
  # Runtime dependencies
7
- gem 'activerecord', '~>5.2.0'
7
+ gem 'activerecord', '~> 8.0.1'
8
8
  gem 'rspec', '~>3.5'
9
9
  gem 'mysql2'
10
10
 
11
11
  # Development dependencies
12
12
  gem 'rake'
13
- gem 'database_cleaner'
14
- gem 'pry'
13
+ gem 'database_cleaner', '~> 2.0.2'
14
+ gem 'pry', '~> 0.14.2'
15
15
 
16
16
  # Gem under test
17
17
  gem 'gemika', :path => '.'
18
+
19
+ # Previous default gems
20
+ gem "ostruct"
@@ -0,0 +1,92 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ gemika (2.0.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ activemodel (8.0.1)
10
+ activesupport (= 8.0.1)
11
+ activerecord (8.0.1)
12
+ activemodel (= 8.0.1)
13
+ activesupport (= 8.0.1)
14
+ timeout (>= 0.4.0)
15
+ activesupport (8.0.1)
16
+ base64
17
+ benchmark (>= 0.3)
18
+ bigdecimal
19
+ concurrent-ruby (~> 1.0, >= 1.3.1)
20
+ connection_pool (>= 2.2.5)
21
+ drb
22
+ i18n (>= 1.6, < 2)
23
+ logger (>= 1.4.2)
24
+ minitest (>= 5.1)
25
+ securerandom (>= 0.3)
26
+ tzinfo (~> 2.0, >= 2.0.5)
27
+ uri (>= 0.13.1)
28
+ base64 (0.2.0)
29
+ benchmark (0.4.0)
30
+ bigdecimal (3.1.8)
31
+ coderay (1.1.3)
32
+ concurrent-ruby (1.3.4)
33
+ connection_pool (2.4.1)
34
+ database_cleaner (2.0.2)
35
+ database_cleaner-active_record (>= 2, < 3)
36
+ database_cleaner-active_record (2.2.0)
37
+ activerecord (>= 5.a)
38
+ database_cleaner-core (~> 2.0.0)
39
+ database_cleaner-core (2.0.1)
40
+ diff-lcs (1.5.0)
41
+ drb (2.2.1)
42
+ i18n (1.14.6)
43
+ concurrent-ruby (~> 1.0)
44
+ logger (1.6.4)
45
+ method_source (1.0.0)
46
+ minitest (6.0.1)
47
+ prism (~> 1.5)
48
+ mysql2 (0.5.7)
49
+ bigdecimal
50
+ ostruct (0.6.3)
51
+ prism (1.9.0)
52
+ pry (0.14.2)
53
+ coderay (~> 1.1)
54
+ method_source (~> 1.0)
55
+ rake (12.3.3)
56
+ rspec (3.8.0)
57
+ rspec-core (~> 3.8.0)
58
+ rspec-expectations (~> 3.8.0)
59
+ rspec-mocks (~> 3.8.0)
60
+ rspec-core (3.8.2)
61
+ rspec-support (~> 3.8.0)
62
+ rspec-expectations (3.8.6)
63
+ diff-lcs (>= 1.2.0, < 2.0)
64
+ rspec-support (~> 3.8.0)
65
+ rspec-mocks (3.8.2)
66
+ diff-lcs (>= 1.2.0, < 2.0)
67
+ rspec-support (~> 3.8.0)
68
+ rspec-support (3.8.3)
69
+ securerandom (0.4.1)
70
+ timeout (0.4.3)
71
+ tzinfo (2.0.6)
72
+ concurrent-ruby (~> 1.0)
73
+ uri (1.0.2)
74
+
75
+ PLATFORMS
76
+ ruby
77
+
78
+ DEPENDENCIES
79
+ activerecord (~> 8.0.1)
80
+ database_cleaner (~> 2.0.2)
81
+ gemika!
82
+ mysql2
83
+ ostruct
84
+ pry (~> 0.14.2)
85
+ rake
86
+ rspec (~> 3.5)
87
+
88
+ RUBY VERSION
89
+ ruby 2.2.4p230
90
+
91
+ BUNDLED WITH
92
+ 2.3.1
data/Gemfile.8.0.pg CHANGED
@@ -15,3 +15,6 @@ gem 'pry', '~> 0.14.2'
15
15
 
16
16
  # Gem under test
17
17
  gem 'gemika', :path => '.'
18
+
19
+ # Previous default gems
20
+ gem "ostruct"
data/Gemfile.8.0.pg.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gemika (0.8.4)
4
+ gemika (2.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -43,8 +43,11 @@ GEM
43
43
  concurrent-ruby (~> 1.0)
44
44
  logger (1.6.4)
45
45
  method_source (1.0.0)
46
- minitest (5.25.4)
46
+ minitest (6.0.1)
47
+ prism (~> 1.5)
48
+ ostruct (0.6.3)
47
49
  pg (1.5.9)
50
+ prism (1.9.0)
48
51
  pry (0.14.2)
49
52
  coderay (~> 1.1)
50
53
  method_source (~> 1.0)
@@ -75,6 +78,7 @@ DEPENDENCIES
75
78
  activerecord (~> 8.0.1)
76
79
  database_cleaner (~> 2.0.2)
77
80
  gemika!
81
+ ostruct
78
82
  pg (~> 1.5.6)
79
83
  pry (~> 0.14.2)
80
84
  rake
@@ -4,14 +4,17 @@ source 'https://rubygems.org'
4
4
  ruby '>= 2.2'
5
5
 
6
6
  # Runtime dependencies
7
- gem 'activerecord', '~>5.2.0'
7
+ gem 'activerecord', '~> 8.0.1'
8
8
  gem 'rspec', '~>3.5'
9
9
  gem 'sqlite3'
10
10
 
11
11
  # Development dependencies
12
12
  gem 'rake'
13
- gem 'database_cleaner'
14
- gem 'pry'
13
+ gem 'database_cleaner', '~> 2.0.2'
14
+ gem 'pry', '~> 0.14.2'
15
15
 
16
16
  # Gem under test
17
17
  gem 'gemika', :path => '.'
18
+
19
+ # Previous default gems
20
+ gem "ostruct"
@@ -0,0 +1,93 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ gemika (2.0.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ activemodel (8.0.1)
10
+ activesupport (= 8.0.1)
11
+ activerecord (8.0.1)
12
+ activemodel (= 8.0.1)
13
+ activesupport (= 8.0.1)
14
+ timeout (>= 0.4.0)
15
+ activesupport (8.0.1)
16
+ base64
17
+ benchmark (>= 0.3)
18
+ bigdecimal
19
+ concurrent-ruby (~> 1.0, >= 1.3.1)
20
+ connection_pool (>= 2.2.5)
21
+ drb
22
+ i18n (>= 1.6, < 2)
23
+ logger (>= 1.4.2)
24
+ minitest (>= 5.1)
25
+ securerandom (>= 0.3)
26
+ tzinfo (~> 2.0, >= 2.0.5)
27
+ uri (>= 0.13.1)
28
+ base64 (0.2.0)
29
+ benchmark (0.4.0)
30
+ bigdecimal (3.1.8)
31
+ coderay (1.1.3)
32
+ concurrent-ruby (1.3.4)
33
+ connection_pool (2.4.1)
34
+ database_cleaner (2.0.2)
35
+ database_cleaner-active_record (>= 2, < 3)
36
+ database_cleaner-active_record (2.2.0)
37
+ activerecord (>= 5.a)
38
+ database_cleaner-core (~> 2.0.0)
39
+ database_cleaner-core (2.0.1)
40
+ diff-lcs (1.5.0)
41
+ drb (2.2.1)
42
+ i18n (1.14.6)
43
+ concurrent-ruby (~> 1.0)
44
+ logger (1.6.4)
45
+ method_source (1.0.0)
46
+ mini_portile2 (2.8.9)
47
+ minitest (6.0.1)
48
+ prism (~> 1.5)
49
+ ostruct (0.6.3)
50
+ prism (1.9.0)
51
+ pry (0.14.2)
52
+ coderay (~> 1.1)
53
+ method_source (~> 1.0)
54
+ rake (12.3.3)
55
+ rspec (3.8.0)
56
+ rspec-core (~> 3.8.0)
57
+ rspec-expectations (~> 3.8.0)
58
+ rspec-mocks (~> 3.8.0)
59
+ rspec-core (3.8.2)
60
+ rspec-support (~> 3.8.0)
61
+ rspec-expectations (3.8.6)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.8.0)
64
+ rspec-mocks (3.8.2)
65
+ diff-lcs (>= 1.2.0, < 2.0)
66
+ rspec-support (~> 3.8.0)
67
+ rspec-support (3.8.3)
68
+ securerandom (0.4.1)
69
+ sqlite3 (2.9.0)
70
+ mini_portile2 (~> 2.8.0)
71
+ timeout (0.4.3)
72
+ tzinfo (2.0.6)
73
+ concurrent-ruby (~> 1.0)
74
+ uri (1.0.2)
75
+
76
+ PLATFORMS
77
+ ruby
78
+
79
+ DEPENDENCIES
80
+ activerecord (~> 8.0.1)
81
+ database_cleaner (~> 2.0.2)
82
+ gemika!
83
+ ostruct
84
+ pry (~> 0.14.2)
85
+ rake
86
+ rspec (~> 3.5)
87
+ sqlite3
88
+
89
+ RUBY VERSION
90
+ ruby 2.2.4p230
91
+
92
+ BUNDLED WITH
93
+ 2.3.1
@@ -4,14 +4,17 @@ source 'https://rubygems.org'
4
4
  ruby '>= 2.2'
5
5
 
6
6
  # Runtime dependencies
7
- gem 'activerecord', '~>5.2.0'
7
+ gem 'activerecord', '~> 8.1'
8
8
  gem 'rspec', '~>3.5'
9
- gem 'pg', '~>0.18.4'
9
+ gem 'pg', '~> 1.5.6'
10
10
 
11
11
  # Development dependencies
12
12
  gem 'rake'
13
- gem 'database_cleaner'
14
- gem 'pry'
13
+ gem 'database_cleaner', '~> 2.0.2'
14
+ gem 'pry', '~> 0.14.2'
15
15
 
16
16
  # Gem under test
17
17
  gem 'gemika', :path => '.'
18
+
19
+ # Previous default gems
20
+ gem "ostruct"
@@ -0,0 +1,91 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ gemika (2.0.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ activemodel (8.1.2)
10
+ activesupport (= 8.1.2)
11
+ activerecord (8.1.2)
12
+ activemodel (= 8.1.2)
13
+ activesupport (= 8.1.2)
14
+ timeout (>= 0.4.0)
15
+ activesupport (8.1.2)
16
+ base64
17
+ bigdecimal
18
+ concurrent-ruby (~> 1.0, >= 1.3.1)
19
+ connection_pool (>= 2.2.5)
20
+ drb
21
+ i18n (>= 1.6, < 2)
22
+ json
23
+ logger (>= 1.4.2)
24
+ minitest (>= 5.1)
25
+ securerandom (>= 0.3)
26
+ tzinfo (~> 2.0, >= 2.0.5)
27
+ uri (>= 0.13.1)
28
+ base64 (0.3.0)
29
+ bigdecimal (4.0.1)
30
+ coderay (1.1.3)
31
+ concurrent-ruby (1.3.6)
32
+ connection_pool (3.0.2)
33
+ database_cleaner (2.0.2)
34
+ database_cleaner-active_record (>= 2, < 3)
35
+ database_cleaner-active_record (2.2.0)
36
+ activerecord (>= 5.a)
37
+ database_cleaner-core (~> 2.0.0)
38
+ database_cleaner-core (2.0.1)
39
+ diff-lcs (1.5.0)
40
+ drb (2.2.3)
41
+ i18n (1.14.8)
42
+ concurrent-ruby (~> 1.0)
43
+ json (2.18.1)
44
+ logger (1.7.0)
45
+ method_source (1.0.0)
46
+ minitest (6.0.1)
47
+ prism (~> 1.5)
48
+ ostruct (0.6.3)
49
+ pg (1.5.9)
50
+ prism (1.9.0)
51
+ pry (0.14.2)
52
+ coderay (~> 1.1)
53
+ method_source (~> 1.0)
54
+ rake (12.3.3)
55
+ rspec (3.8.0)
56
+ rspec-core (~> 3.8.0)
57
+ rspec-expectations (~> 3.8.0)
58
+ rspec-mocks (~> 3.8.0)
59
+ rspec-core (3.8.2)
60
+ rspec-support (~> 3.8.0)
61
+ rspec-expectations (3.8.6)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.8.0)
64
+ rspec-mocks (3.8.2)
65
+ diff-lcs (>= 1.2.0, < 2.0)
66
+ rspec-support (~> 3.8.0)
67
+ rspec-support (3.8.3)
68
+ securerandom (0.4.1)
69
+ timeout (0.6.0)
70
+ tzinfo (2.0.6)
71
+ concurrent-ruby (~> 1.0)
72
+ uri (1.1.1)
73
+
74
+ PLATFORMS
75
+ ruby
76
+
77
+ DEPENDENCIES
78
+ activerecord (~> 8.1)
79
+ database_cleaner (~> 2.0.2)
80
+ gemika!
81
+ ostruct
82
+ pg (~> 1.5.6)
83
+ pry (~> 0.14.2)
84
+ rake
85
+ rspec (~> 3.5)
86
+
87
+ RUBY VERSION
88
+ ruby 2.2.4p230
89
+
90
+ BUNDLED WITH
91
+ 2.3.1