rascal 0.3.5 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 190a2efecea68bc713a78cb62454529f2228af52529efd708301f0f78f1e7c87
4
- data.tar.gz: 90126db4ae82863742144d82777c0a3862f927dbf5c13f08c9ae5f27be54d261
3
+ metadata.gz: e2c69b643b7dc14913085c3255cf11421dca933e19a3f148fb52e53fdacf8174
4
+ data.tar.gz: c15df780599c8984ab20c44f5cde8f50bf7e0e4f6300ec82e4940f607916602f
5
5
  SHA512:
6
- metadata.gz: d366ae2838d464a4178df419f22ffdd08d6525f2fd6a06e830e620033fade39462c836acca86ebeaac0e562c9591dcecb1b8e304d858bc5f081edeb14098bfa1
7
- data.tar.gz: 10ecd7318f88af5a2bf634d1b68c92b8a51de957f6bf16a7d3121d8d36224706a406e2a8bf188de3ba34433079c7459ae6e7b1860ee6b0452c20baa502d4a4a7
6
+ metadata.gz: e727361949e6fc657fd995595cff0f19b6e0e7593a05e01ca9b81e75e1ab0ca7af055e506937b76948e1a175ff59df5c9df7437677589d6657678138f7f6c3e4
7
+ data.tar.gz: 6854688dad1a0efec3b9278b8b2e9aa42b78bdc06f45f89d95eea0c17ff67ad430afd6c81f9fec43ee318207050053dc6ab314d3d5a355671ba856be9e49f9af
@@ -2,10 +2,10 @@ name: Tests
2
2
  on:
3
3
  push:
4
4
  branches:
5
- - master
5
+ - main
6
6
  pull_request:
7
7
  branches:
8
- - master
8
+ - main
9
9
  jobs:
10
10
  test:
11
11
  runs-on: ubuntu-20.04
@@ -14,6 +14,8 @@ jobs:
14
14
  matrix:
15
15
  include:
16
16
  - ruby: 2.5.8
17
+ gemfile: Gemfile.2.5
18
+ - ruby: 3.2.0
17
19
  gemfile: Gemfile
18
20
  env:
19
21
  BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5
1
+ 3.2.0
data/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ All notable changes to this project will be documented here.
4
4
 
5
5
  Rascal follows semantic versioning. This has little consequence pre 1.0, so expect breaking changes.
6
6
 
7
+ ## 0.3.7 (2024-03-22)
8
+
9
+ - Ignore `stage:` blocks in .gitlab-ci.yml.
10
+
11
+
12
+ ## 0.3.6 (2023-01-27)
13
+
14
+ - Handle `default:` blocks in .gitlab-ci.yml.
15
+
16
+
7
17
  ## 0.3.5 (2022-12-21)
8
18
 
9
19
  - Fix the "endpoint ... already exists in network" error.
data/Gemfile ADDED
@@ -0,0 +1 @@
1
+ Gemfile.common
data/Gemfile.2.5 ADDED
@@ -0,0 +1 @@
1
+ Gemfile.common
data/Gemfile.2.5.lock ADDED
@@ -0,0 +1,125 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rascal (0.3.7)
5
+ thor (~> 0.20.3)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ aruba (0.14.9)
11
+ childprocess (>= 0.6.3, < 1.1.0)
12
+ contracts (~> 0.9)
13
+ cucumber (>= 1.3.19)
14
+ ffi (~> 1.9)
15
+ rspec-expectations (>= 2.99)
16
+ thor (~> 0.19)
17
+ builder (3.2.4)
18
+ childprocess (1.0.0)
19
+ coderay (1.1.2)
20
+ contracts (0.16.0)
21
+ cucumber (7.1.0)
22
+ builder (~> 3.2, >= 3.2.4)
23
+ cucumber-core (~> 10.1, >= 10.1.0)
24
+ cucumber-create-meta (~> 6.0, >= 6.0.1)
25
+ cucumber-cucumber-expressions (~> 14.0, >= 14.0.0)
26
+ cucumber-gherkin (~> 22.0, >= 22.0.0)
27
+ cucumber-html-formatter (~> 17.0, >= 17.0.0)
28
+ cucumber-messages (~> 17.1, >= 17.1.1)
29
+ cucumber-wire (~> 6.2, >= 6.2.0)
30
+ diff-lcs (~> 1.4, >= 1.4.4)
31
+ mime-types (~> 3.3, >= 3.3.1)
32
+ multi_test (~> 0.1, >= 0.1.2)
33
+ sys-uname (~> 1.2, >= 1.2.2)
34
+ cucumber-core (10.1.1)
35
+ cucumber-gherkin (~> 22.0, >= 22.0.0)
36
+ cucumber-messages (~> 17.1, >= 17.1.1)
37
+ cucumber-tag-expressions (~> 4.1, >= 4.1.0)
38
+ cucumber-create-meta (6.0.4)
39
+ cucumber-messages (~> 17.1, >= 17.1.1)
40
+ sys-uname (~> 1.2, >= 1.2.2)
41
+ cucumber-cucumber-expressions (14.0.0)
42
+ cucumber-gherkin (22.0.0)
43
+ cucumber-messages (~> 17.1, >= 17.1.1)
44
+ cucumber-html-formatter (17.0.0)
45
+ cucumber-messages (~> 17.1, >= 17.1.0)
46
+ cucumber-messages (17.1.1)
47
+ cucumber-tag-expressions (4.1.0)
48
+ cucumber-wire (6.2.1)
49
+ cucumber-core (~> 10.1, >= 10.1.0)
50
+ cucumber-cucumber-expressions (~> 14.0, >= 14.0.0)
51
+ diff-lcs (1.5.0)
52
+ ffi (1.10.0)
53
+ formatador (0.2.5)
54
+ guard (2.15.0)
55
+ formatador (>= 0.2.4)
56
+ listen (>= 2.7, < 4.0)
57
+ lumberjack (>= 1.0.12, < 2.0)
58
+ nenv (~> 0.1)
59
+ notiffany (~> 0.0)
60
+ pry (>= 0.9.12)
61
+ shellany (~> 0.0)
62
+ thor (>= 0.18.1)
63
+ guard-compat (1.2.1)
64
+ guard-cucumber (1.5.4)
65
+ cucumber (>= 1.3.0)
66
+ guard-compat (~> 1.0)
67
+ nenv (~> 0.1)
68
+ guard-rspec (4.7.3)
69
+ guard (~> 2.1)
70
+ guard-compat (~> 1.1)
71
+ rspec (>= 2.99.0, < 4.0)
72
+ listen (3.1.5)
73
+ rb-fsevent (~> 0.9, >= 0.9.4)
74
+ rb-inotify (~> 0.9, >= 0.9.7)
75
+ ruby_dep (~> 1.2)
76
+ lumberjack (1.0.13)
77
+ method_source (0.9.2)
78
+ mime-types (3.4.1)
79
+ mime-types-data (~> 3.2015)
80
+ mime-types-data (3.2022.0105)
81
+ multi_test (0.1.2)
82
+ nenv (0.3.0)
83
+ notiffany (0.1.1)
84
+ nenv (~> 0.1)
85
+ shellany (~> 0.0)
86
+ pry (0.12.2)
87
+ coderay (~> 1.1.0)
88
+ method_source (~> 0.9.0)
89
+ rake (13.0.1)
90
+ rb-fsevent (0.10.3)
91
+ rb-inotify (0.10.0)
92
+ ffi (~> 1.0)
93
+ rspec (3.8.0)
94
+ rspec-core (~> 3.8.0)
95
+ rspec-expectations (~> 3.8.0)
96
+ rspec-mocks (~> 3.8.0)
97
+ rspec-core (3.8.0)
98
+ rspec-support (~> 3.8.0)
99
+ rspec-expectations (3.8.2)
100
+ diff-lcs (>= 1.2.0, < 2.0)
101
+ rspec-support (~> 3.8.0)
102
+ rspec-mocks (3.8.0)
103
+ diff-lcs (>= 1.2.0, < 2.0)
104
+ rspec-support (~> 3.8.0)
105
+ rspec-support (3.8.0)
106
+ ruby_dep (1.5.0)
107
+ shellany (0.0.1)
108
+ sys-uname (1.2.2)
109
+ ffi (~> 1.1)
110
+ thor (0.20.3)
111
+
112
+ PLATFORMS
113
+ ruby
114
+
115
+ DEPENDENCIES
116
+ aruba
117
+ cucumber
118
+ guard-cucumber
119
+ guard-rspec
120
+ rake (~> 13.0)
121
+ rascal!
122
+ rspec
123
+
124
+ BUNDLED WITH
125
+ 2.2.28
data/Gemfile.common ADDED
@@ -0,0 +1,14 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in rascal.gemspec
6
+ gemspec
7
+
8
+ gem 'rake', '~> 13.0'
9
+ gem 'rspec'
10
+ gem 'cucumber'
11
+ gem 'aruba'
12
+
13
+ gem 'guard-rspec'
14
+ gem 'guard-cucumber'
data/Gemfile.lock CHANGED
@@ -1,96 +1,103 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rascal (0.3.4)
4
+ rascal (0.3.7)
5
5
  thor (~> 0.20.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- aruba (0.14.9)
11
- childprocess (>= 0.6.3, < 1.1.0)
10
+ aruba (0.14.14)
11
+ childprocess (>= 0.6.3, < 4.0.0)
12
12
  contracts (~> 0.9)
13
13
  cucumber (>= 1.3.19)
14
14
  ffi (~> 1.9)
15
15
  rspec-expectations (>= 2.99)
16
- thor (~> 0.19)
17
- backports (3.12.0)
18
- builder (3.2.3)
19
- childprocess (1.0.0)
20
- coderay (1.1.2)
21
- contracts (0.16.0)
22
- cucumber (3.1.2)
23
- builder (>= 2.1.2)
24
- cucumber-core (~> 3.2.0)
25
- cucumber-expressions (~> 6.0.1)
26
- cucumber-wire (~> 0.0.1)
27
- diff-lcs (~> 1.3)
28
- gherkin (~> 5.1.0)
29
- multi_json (>= 1.7.5, < 2.0)
30
- multi_test (>= 0.1.2)
31
- cucumber-core (3.2.1)
32
- backports (>= 3.8.0)
33
- cucumber-tag_expressions (~> 1.1.0)
34
- gherkin (~> 5.0)
35
- cucumber-expressions (6.0.1)
36
- cucumber-tag_expressions (1.1.1)
37
- cucumber-wire (0.0.1)
38
- diff-lcs (1.3)
39
- ffi (1.10.0)
40
- formatador (0.2.5)
41
- gherkin (5.1.0)
42
- guard (2.15.0)
16
+ thor (>= 0.19, < 2.0)
17
+ builder (3.2.4)
18
+ childprocess (3.0.0)
19
+ coderay (1.1.3)
20
+ contracts (0.17)
21
+ cucumber (8.0.0)
22
+ builder (~> 3.2, >= 3.2.4)
23
+ cucumber-ci-environment (~> 9.0, >= 9.0.4)
24
+ cucumber-core (~> 11.0, >= 11.0.0)
25
+ cucumber-cucumber-expressions (~> 15.1, >= 15.1.1)
26
+ cucumber-gherkin (~> 23.0, >= 23.0.1)
27
+ cucumber-html-formatter (~> 19.1, >= 19.1.0)
28
+ cucumber-messages (~> 18.0, >= 18.0.0)
29
+ diff-lcs (~> 1.5, >= 1.5.0)
30
+ mime-types (~> 3.4, >= 3.4.1)
31
+ multi_test (~> 1.1, >= 1.1.0)
32
+ sys-uname (~> 1.2, >= 1.2.2)
33
+ cucumber-ci-environment (9.1.0)
34
+ cucumber-core (11.0.0)
35
+ cucumber-gherkin (~> 23.0, >= 23.0.1)
36
+ cucumber-messages (~> 18.0, >= 18.0.0)
37
+ cucumber-tag-expressions (~> 4.1, >= 4.1.0)
38
+ cucumber-cucumber-expressions (15.2.0)
39
+ cucumber-gherkin (23.0.1)
40
+ cucumber-messages (~> 18.0, >= 18.0.0)
41
+ cucumber-html-formatter (19.2.0)
42
+ cucumber-messages (~> 18.0, >= 18.0.0)
43
+ cucumber-messages (18.0.0)
44
+ cucumber-tag-expressions (4.1.0)
45
+ diff-lcs (1.5.0)
46
+ ffi (1.15.5)
47
+ formatador (1.1.0)
48
+ guard (2.18.0)
43
49
  formatador (>= 0.2.4)
44
50
  listen (>= 2.7, < 4.0)
45
51
  lumberjack (>= 1.0.12, < 2.0)
46
52
  nenv (~> 0.1)
47
53
  notiffany (~> 0.0)
48
- pry (>= 0.9.12)
54
+ pry (>= 0.13.0)
49
55
  shellany (~> 0.0)
50
56
  thor (>= 0.18.1)
51
57
  guard-compat (1.2.1)
52
- guard-cucumber (1.5.4)
53
- cucumber (>= 1.3.0)
54
- guard-compat (~> 1.0)
55
- nenv (~> 0.1)
58
+ guard-cucumber (3.0.0)
59
+ cucumber (>= 3.1)
60
+ nenv (>= 0.1)
56
61
  guard-rspec (4.7.3)
57
62
  guard (~> 2.1)
58
63
  guard-compat (~> 1.1)
59
64
  rspec (>= 2.99.0, < 4.0)
60
- listen (3.1.5)
61
- rb-fsevent (~> 0.9, >= 0.9.4)
62
- rb-inotify (~> 0.9, >= 0.9.7)
63
- ruby_dep (~> 1.2)
64
- lumberjack (1.0.13)
65
- method_source (0.9.2)
66
- multi_json (1.13.1)
67
- multi_test (0.1.2)
65
+ listen (3.8.0)
66
+ rb-fsevent (~> 0.10, >= 0.10.3)
67
+ rb-inotify (~> 0.9, >= 0.9.10)
68
+ lumberjack (1.2.8)
69
+ method_source (1.0.0)
70
+ mime-types (3.4.1)
71
+ mime-types-data (~> 3.2015)
72
+ mime-types-data (3.2022.0105)
73
+ multi_test (1.1.0)
68
74
  nenv (0.3.0)
69
- notiffany (0.1.1)
75
+ notiffany (0.1.3)
70
76
  nenv (~> 0.1)
71
77
  shellany (~> 0.0)
72
- pry (0.12.2)
73
- coderay (~> 1.1.0)
74
- method_source (~> 0.9.0)
75
- rake (13.0.1)
76
- rb-fsevent (0.10.3)
77
- rb-inotify (0.10.0)
78
+ pry (0.14.2)
79
+ coderay (~> 1.1)
80
+ method_source (~> 1.0)
81
+ rake (13.0.6)
82
+ rb-fsevent (0.11.2)
83
+ rb-inotify (0.10.1)
78
84
  ffi (~> 1.0)
79
- rspec (3.8.0)
80
- rspec-core (~> 3.8.0)
81
- rspec-expectations (~> 3.8.0)
82
- rspec-mocks (~> 3.8.0)
83
- rspec-core (3.8.0)
84
- rspec-support (~> 3.8.0)
85
- rspec-expectations (3.8.2)
85
+ rspec (3.12.0)
86
+ rspec-core (~> 3.12.0)
87
+ rspec-expectations (~> 3.12.0)
88
+ rspec-mocks (~> 3.12.0)
89
+ rspec-core (3.12.0)
90
+ rspec-support (~> 3.12.0)
91
+ rspec-expectations (3.12.2)
86
92
  diff-lcs (>= 1.2.0, < 2.0)
87
- rspec-support (~> 3.8.0)
88
- rspec-mocks (3.8.0)
93
+ rspec-support (~> 3.12.0)
94
+ rspec-mocks (3.12.3)
89
95
  diff-lcs (>= 1.2.0, < 2.0)
90
- rspec-support (~> 3.8.0)
91
- rspec-support (3.8.0)
92
- ruby_dep (1.5.0)
96
+ rspec-support (~> 3.12.0)
97
+ rspec-support (3.12.0)
93
98
  shellany (0.0.1)
99
+ sys-uname (1.2.2)
100
+ ffi (~> 1.1)
94
101
  thor (0.20.3)
95
102
 
96
103
  PLATFORMS
data/cucumber.yml ADDED
@@ -0,0 +1 @@
1
+ default: --publish-quiet
@@ -3,6 +3,9 @@ require 'yaml'
3
3
  module Rascal
4
4
  module EnvironmentsDefinition
5
5
  class Gitlab
6
+ DEFAULT_KEY = 'default'.freeze
7
+ SPECIAL_KEYS = [DEFAULT_KEY, 'stages'].freeze
8
+
6
9
  class << self
7
10
  def detect(path)
8
11
  if path.directory?
@@ -62,10 +65,11 @@ module Rascal
62
65
 
63
66
  def environments
64
67
  @environments ||= begin
68
+ default_config = @info.fetch(DEFAULT_KEY, {})
65
69
  @info.collect do |key, environment_config|
66
- config = Config.new(deep_merge(environment_config, @rascal_config, @rascal_environment_config[key] || {}), key)
70
+ config = Config.new(deep_merge(environment_config, default_config, @rascal_config, @rascal_environment_config[key] || {}), key)
67
71
  docker_repo_dir = config.get('repo_dir', '/repo')
68
- unless key.start_with?('.') || config.get('hide', false)
72
+ unless key.start_with?('.') || config.get('hide', false) || SPECIAL_KEYS.include?(key)
69
73
  name = config.get('name', key)
70
74
  full_name = "#{@base_name}-#{name}"
71
75
  shared_volumes = [build_repo_volume(docker_repo_dir), build_builds_volume(full_name)]
@@ -1,3 +1,3 @@
1
1
  module Rascal
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rascal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Kraze
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-21 00:00:00.000000000 Z
11
+ date: 2024-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -38,6 +38,9 @@ files:
38
38
  - ".ruby-version"
39
39
  - CHANGELOG.md
40
40
  - Gemfile
41
+ - Gemfile.2.5
42
+ - Gemfile.2.5.lock
43
+ - Gemfile.common
41
44
  - Gemfile.lock
42
45
  - Guardfile
43
46
  - LICENSE.txt
@@ -49,6 +52,7 @@ files:
49
52
  - bin/guard
50
53
  - bin/rspec
51
54
  - bin/setup
55
+ - cucumber.yml
52
56
  - exe/rascal
53
57
  - lib/rascal.rb
54
58
  - lib/rascal/cli.rb
@@ -92,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
96
  - !ruby/object:Gem::Version
93
97
  version: '0'
94
98
  requirements: []
95
- rubygems_version: 3.3.22
99
+ rubygems_version: 3.4.1
96
100
  signing_key:
97
101
  specification_version: 4
98
102
  summary: Spin up CI environments locally.
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
- # Specify your gem's dependencies in rascal.gemspec
6
- gemspec
7
-
8
- gem 'rake', '~> 13.0'
9
- gem 'rspec'
10
- gem 'cucumber'
11
- gem 'aruba'
12
-
13
- gem 'guard-rspec'
14
- gem 'guard-cucumber'