rascal 0.3.4 → 0.3.6

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: f4bf3ad1b4529196db3df33c0748dcc511b334d99c02ab457c74cb821eff8a1b
4
- data.tar.gz: c3c7f9f856febd21b23195621081c0f22c63336c1f8e0362b1864cd0d3e365d1
3
+ metadata.gz: f92bdd23479cecc48f349ccb23ce53c4c32ca33dea4e97a5cd7b7b9c58408b9d
4
+ data.tar.gz: 0aab44c7aa2484fd17978dae087687121e5028310e987e87cbcd1d9b973eea78
5
5
  SHA512:
6
- metadata.gz: 56f02d5f64b911abde9dcc6ee44def8fec82ab78705b3879f171589f68b4aa662473e0bc8e372bb1122dc739c9762c9b3d8ba9295817410224951b226e044cfd
7
- data.tar.gz: dec85393c9074c9ad305962e051e5b0dc49671d5e84a2acba653840ed11c33e60cbed83a8975ef824485c5becfeea9261e4d88a84a358ffe9bf12035b61a6f25
6
+ metadata.gz: 3051a125f2d14e157df31862e80d40a79866ed8cd696c09f11b57dc9270d4c6590683e1ec5c067c72f950696c9c49a41c48d65733c90064379df46c3c6b9c9d8
7
+ data.tar.gz: b599dde61ea3d335e0931405b8057069db656af5551369bc13969ab78106efb7bd3ea0f745130b75f934dd51e7d84e629c34b71624d822de5e27a5d9f944d067
@@ -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
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.6 (2023-01-27)
8
+
9
+ - Handle `default:` blocks in .gitlab-ci.yml.
10
+
11
+
12
+ ## 0.3.5 (2022-12-21)
13
+
14
+ - Fix the "endpoint ... already exists in network" error.
15
+
16
+
7
17
  ## 0.3.4 (2022-03-16)
8
18
 
9
19
  - Activate Rubygems MFA
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rascal (0.3.4)
4
+ rascal (0.3.6)
5
5
  thor (~> 0.20.3)
6
6
 
7
7
  GEM
@@ -112,8 +112,6 @@ module Rascal
112
112
  @image
113
113
  end
114
114
 
115
- private
116
-
117
115
  def id
118
116
  @id ||= Docker.interface.run(
119
117
  'container',
@@ -125,6 +123,8 @@ module Rascal
125
123
  )
126
124
  end
127
125
 
126
+ private
127
+
128
128
  def image_exists?
129
129
  Docker.interface.run(
130
130
  'image',
@@ -14,6 +14,17 @@ module Rascal
14
14
  )
15
15
  end
16
16
 
17
+ def disconnect(container_id)
18
+ Docker.interface.run(
19
+ 'network',
20
+ 'disconnect',
21
+ id,
22
+ container_id,
23
+ )
24
+ rescue Interface::Error => e
25
+ raise unless e.message.include?('is not connected')
26
+ end
27
+
17
28
  def exists?
18
29
  !!id
19
30
  end
@@ -3,6 +3,8 @@ require 'yaml'
3
3
  module Rascal
4
4
  module EnvironmentsDefinition
5
5
  class Gitlab
6
+ DEFAULT_KEY = 'default'.freeze
7
+
6
8
  class << self
7
9
  def detect(path)
8
10
  if path.directory?
@@ -62,10 +64,11 @@ module Rascal
62
64
 
63
65
  def environments
64
66
  @environments ||= begin
67
+ default_config = @info.fetch(DEFAULT_KEY, {})
65
68
  @info.collect do |key, environment_config|
66
- config = Config.new(deep_merge(environment_config, @rascal_config, @rascal_environment_config[key] || {}), key)
69
+ config = Config.new(deep_merge(environment_config, default_config, @rascal_config, @rascal_environment_config[key] || {}), key)
67
70
  docker_repo_dir = config.get('repo_dir', '/repo')
68
- unless key.start_with?('.') || config.get('hide', false)
71
+ unless key.start_with?('.') || config.get('hide', false) || key == DEFAULT_KEY
69
72
  name = config.get('name', key)
70
73
  full_name = "#{@base_name}-#{name}"
71
74
  shared_volumes = [build_repo_volume(docker_repo_dir), build_builds_volume(full_name)]
@@ -17,6 +17,9 @@ module Rascal
17
17
 
18
18
  def start_if_stopped(network: nil)
19
19
  unless @container.running?
20
+ if (container_id = @container.id)
21
+ network.disconnect(container_id)
22
+ end
20
23
  @container.start(network: network, network_alias: @alias, volumes: @volumes, env: @env_variables, command: @command)
21
24
  end
22
25
  end
@@ -1,3 +1,3 @@
1
1
  module Rascal
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.6"
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.4
4
+ version: 0.3.6
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-03-16 00:00:00.000000000 Z
11
+ date: 2023-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  requirements: []
95
- rubygems_version: 3.3.9
95
+ rubygems_version: 3.3.22
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: Spin up CI environments locally.