vidar 1.8.0 → 1.9.1
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 +4 -4
- data/.bundler-version +1 -1
- data/Gemfile.lock +30 -24
- data/README.md +3 -13
- data/lib/vidar/cli.rb +16 -9
- data/lib/vidar/config.rb +1 -1
- data/lib/vidar/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e26a3d84c5de4e7c506b028409ce6ee47dbac922a9365239cd62c7d2595552c6
|
|
4
|
+
data.tar.gz: 7b9643a791b05bca66fc51299e35690079554dd6e5c3b96dd91385011d60cc90
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 44f848eecb1498f52370cbcdda0d96d4d9345c4a1363ab7abba5366e0cdf322d220cef9f4759dddc56d79ad5d455638f2412cc75855db79f0537f11534239503
|
|
7
|
+
data.tar.gz: 600233a334a4bdd395bf9b573085a1a03f02007cae5903e93fd31c645d874ae35f0ddef8b179214c82edee243ab1b109cc3f6403ae473fd15253e1e9fcac421f
|
data/.bundler-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.4.
|
|
1
|
+
2.4.21
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
vidar (1.
|
|
4
|
+
vidar (1.9.1)
|
|
5
5
|
colorize
|
|
6
6
|
faraday
|
|
7
7
|
thor (~> 1.0)
|
|
@@ -9,33 +9,38 @@ PATH
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
addressable (2.8.
|
|
12
|
+
addressable (2.8.6)
|
|
13
13
|
public_suffix (>= 2.0.2, < 6.0)
|
|
14
14
|
ast (2.4.2)
|
|
15
15
|
awesome_print (1.9.2)
|
|
16
|
+
base64 (0.2.0)
|
|
16
17
|
coderay (1.1.3)
|
|
17
|
-
colorize (
|
|
18
|
+
colorize (1.1.0)
|
|
18
19
|
crack (0.4.5)
|
|
19
20
|
rexml
|
|
20
21
|
diff-lcs (1.5.0)
|
|
21
|
-
faraday (2.7.
|
|
22
|
+
faraday (2.7.12)
|
|
23
|
+
base64
|
|
22
24
|
faraday-net_http (>= 2.0, < 3.1)
|
|
23
25
|
ruby2_keywords (>= 0.0.4)
|
|
24
26
|
faraday-net_http (3.0.2)
|
|
25
27
|
hashdiff (1.0.1)
|
|
26
|
-
json (2.
|
|
28
|
+
json (2.7.1)
|
|
29
|
+
language_server-protocol (3.17.0.3)
|
|
27
30
|
method_source (1.0.0)
|
|
28
31
|
parallel (1.23.0)
|
|
29
|
-
parser (3.2.2.
|
|
32
|
+
parser (3.2.2.4)
|
|
30
33
|
ast (~> 2.4.1)
|
|
34
|
+
racc
|
|
31
35
|
pry (0.14.2)
|
|
32
36
|
coderay (~> 1.1)
|
|
33
37
|
method_source (~> 1.0)
|
|
34
|
-
public_suffix (5.0.
|
|
38
|
+
public_suffix (5.0.4)
|
|
39
|
+
racc (1.7.3)
|
|
35
40
|
rainbow (3.1.1)
|
|
36
|
-
rake (13.0
|
|
37
|
-
regexp_parser (2.8.
|
|
38
|
-
rexml (3.2.
|
|
41
|
+
rake (13.1.0)
|
|
42
|
+
regexp_parser (2.8.3)
|
|
43
|
+
rexml (3.2.6)
|
|
39
44
|
rspec (3.12.0)
|
|
40
45
|
rspec-core (~> 3.12.0)
|
|
41
46
|
rspec-expectations (~> 3.12.0)
|
|
@@ -45,37 +50,38 @@ GEM
|
|
|
45
50
|
rspec-expectations (3.12.3)
|
|
46
51
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
47
52
|
rspec-support (~> 3.12.0)
|
|
48
|
-
rspec-mocks (3.12.
|
|
53
|
+
rspec-mocks (3.12.6)
|
|
49
54
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
50
55
|
rspec-support (~> 3.12.0)
|
|
51
|
-
rspec-support (3.12.
|
|
52
|
-
rubocop (1.
|
|
56
|
+
rspec-support (3.12.1)
|
|
57
|
+
rubocop (1.58.0)
|
|
53
58
|
json (~> 2.3)
|
|
59
|
+
language_server-protocol (>= 3.17.0)
|
|
54
60
|
parallel (~> 1.10)
|
|
55
|
-
parser (>= 3.2.
|
|
61
|
+
parser (>= 3.2.2.4)
|
|
56
62
|
rainbow (>= 2.2.2, < 4.0)
|
|
57
63
|
regexp_parser (>= 1.8, < 3.0)
|
|
58
64
|
rexml (>= 3.2.5, < 4.0)
|
|
59
|
-
rubocop-ast (>= 1.
|
|
65
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
|
60
66
|
ruby-progressbar (~> 1.7)
|
|
61
67
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
62
|
-
rubocop-ast (1.
|
|
68
|
+
rubocop-ast (1.30.0)
|
|
63
69
|
parser (>= 3.2.1.0)
|
|
64
|
-
rubocop-capybara (2.
|
|
70
|
+
rubocop-capybara (2.19.0)
|
|
65
71
|
rubocop (~> 1.41)
|
|
66
|
-
rubocop-factory_bot (2.
|
|
72
|
+
rubocop-factory_bot (2.24.0)
|
|
67
73
|
rubocop (~> 1.33)
|
|
68
74
|
rubocop-rake (0.6.0)
|
|
69
75
|
rubocop (~> 1.0)
|
|
70
|
-
rubocop-rspec (2.
|
|
71
|
-
rubocop (~> 1.
|
|
76
|
+
rubocop-rspec (2.25.0)
|
|
77
|
+
rubocop (~> 1.40)
|
|
72
78
|
rubocop-capybara (~> 2.17)
|
|
73
79
|
rubocop-factory_bot (~> 2.22)
|
|
74
80
|
ruby-progressbar (1.13.0)
|
|
75
81
|
ruby2_keywords (0.0.5)
|
|
76
|
-
thor (1.
|
|
77
|
-
unicode-display_width (2.
|
|
78
|
-
webmock (3.
|
|
82
|
+
thor (1.3.0)
|
|
83
|
+
unicode-display_width (2.5.0)
|
|
84
|
+
webmock (3.19.1)
|
|
79
85
|
addressable (>= 2.8.0)
|
|
80
86
|
crack (>= 0.3.2)
|
|
81
87
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
@@ -96,4 +102,4 @@ DEPENDENCIES
|
|
|
96
102
|
webmock
|
|
97
103
|
|
|
98
104
|
BUNDLED WITH
|
|
99
|
-
2.4.
|
|
105
|
+
2.4.22
|
data/README.md
CHANGED
|
@@ -32,41 +32,31 @@ version: '3.7'
|
|
|
32
32
|
|
|
33
33
|
services:
|
|
34
34
|
base:
|
|
35
|
-
image:
|
|
35
|
+
image: [docker-registry-url]:base-${CURRENT_BRANCH:?err}
|
|
36
36
|
build:
|
|
37
37
|
dockerfile: Dockerfile
|
|
38
38
|
context: .
|
|
39
39
|
target: base
|
|
40
|
-
cache_from:
|
|
41
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-master
|
|
42
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base
|
|
43
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:release
|
|
44
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:$REVISION
|
|
45
40
|
env_file:
|
|
46
41
|
- .env
|
|
47
42
|
environment:
|
|
48
43
|
- RACK_ENV=test
|
|
49
44
|
|
|
50
45
|
release:
|
|
51
|
-
image:
|
|
46
|
+
image: [docker-registry-url]:release
|
|
52
47
|
build:
|
|
53
48
|
dockerfile: Dockerfile
|
|
54
49
|
context: .
|
|
55
50
|
target: release
|
|
56
51
|
args:
|
|
57
52
|
- REVISION=${REVISION:?err}
|
|
58
|
-
cache_from:
|
|
59
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-${CURRENT_BRANCH:?err}
|
|
60
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-master
|
|
61
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base
|
|
62
|
-
- gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:$REVISION
|
|
63
53
|
```
|
|
64
54
|
|
|
65
55
|
* `vidar.yml` file to the project root directory, which following content:
|
|
66
56
|
|
|
67
57
|
```yml
|
|
68
58
|
# docker image name, required
|
|
69
|
-
image:
|
|
59
|
+
image: [docker-registry-url]
|
|
70
60
|
# k8s namespace, required
|
|
71
61
|
namespace: borrower
|
|
72
62
|
# github name used to build deployment notification content
|
data/lib/vidar/cli.rb
CHANGED
|
@@ -23,13 +23,22 @@ module Vidar
|
|
|
23
23
|
def pull
|
|
24
24
|
Log.info "Pulling #{Config.get!(:image)} tags"
|
|
25
25
|
Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:current_branch)} 2> /dev/null || true"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
unless Config.default_branch?
|
|
27
|
+
Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:default_branch)} 2> /dev/null || true"
|
|
28
|
+
end
|
|
29
29
|
Log.info "Docker images:"
|
|
30
30
|
Run.docker("images")
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
+
desc "build_and_cache_base", "Build and caches base stage"
|
|
34
|
+
def build_and_cache_base
|
|
35
|
+
Log.info "Building #{Config.get!(:base_stage_name)} image"
|
|
36
|
+
Run.docker_compose "build #{Config.get!(:base_stage_name)}"
|
|
37
|
+
|
|
38
|
+
Log.info "Publishing #{Config.get!(:base_stage_name)} image"
|
|
39
|
+
Run.docker "push #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:current_branch)}"
|
|
40
|
+
end
|
|
41
|
+
|
|
33
42
|
desc "build", "Build docker stages"
|
|
34
43
|
def build
|
|
35
44
|
Log.info "Building #{Config.get!(:base_stage_name)} image"
|
|
@@ -47,7 +56,6 @@ module Vidar
|
|
|
47
56
|
|
|
48
57
|
desc "publish", "Publish docker images on docker registry"
|
|
49
58
|
def publish
|
|
50
|
-
base_image_tag = "#{Config.get!(:image)}:#{Config.get!(:base_stage_name)}"
|
|
51
59
|
revision_image_tag = "#{Config.get!(:image)}:#{Config.get!(:revision)}"
|
|
52
60
|
release_image_tag = "#{Config.get!(:image)}:#{Config.get!(:release_stage_name)}"
|
|
53
61
|
latest_image_tag = "#{Config.get!(:image)}:latest"
|
|
@@ -58,9 +66,8 @@ module Vidar
|
|
|
58
66
|
|
|
59
67
|
return unless Config.default_branch?
|
|
60
68
|
|
|
61
|
-
Log.info "Publishing #{
|
|
62
|
-
Run.docker "
|
|
63
|
-
Run.docker "push #{base_image_tag}"
|
|
69
|
+
Log.info "Publishing #{Config.get!(:base_stage_name)} image"
|
|
70
|
+
Run.docker "push #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:current_branch)}"
|
|
64
71
|
|
|
65
72
|
Log.info "Publishing #{release_image_tag}"
|
|
66
73
|
Run.docker "tag #{release_image_tag} #{latest_image_tag}"
|
|
@@ -124,8 +131,8 @@ module Vidar
|
|
|
124
131
|
def release
|
|
125
132
|
Log.info "Build and release #{Config.get!(:image)}:#{Config.get!(:revision)}"
|
|
126
133
|
pull
|
|
127
|
-
|
|
128
|
-
|
|
134
|
+
Log.info "Building #{Config.get!(:release_stage_name)} image"
|
|
135
|
+
Run.docker_compose "build #{Config.get!(:release_stage_name)}"
|
|
129
136
|
publish
|
|
130
137
|
end
|
|
131
138
|
|
data/lib/vidar/config.rb
CHANGED
|
@@ -6,7 +6,7 @@ module Vidar
|
|
|
6
6
|
DEFAULT_OPTIONS = {
|
|
7
7
|
compose_file: -> { "docker-compose.ci.yml" },
|
|
8
8
|
default_branch: -> { (DEFAULT_BRANCHES & branches).first || DEFAULT_BRANCHES.first },
|
|
9
|
-
current_branch: -> { `git rev-parse --abbrev-ref HEAD`.strip.tr("/", "-") },
|
|
9
|
+
current_branch: -> { ENV['SEMAPHORE_GIT_WORKING_BRANCH'] || `git rev-parse --abbrev-ref HEAD`.strip.tr("/", "-") },
|
|
10
10
|
revision: -> { `git rev-parse HEAD`.strip },
|
|
11
11
|
revision_name: -> { `git show --pretty=format:"%s (%h)" -s HEAD`.strip },
|
|
12
12
|
kubectl_context: -> { `kubectl config current-context`.strip },
|
data/lib/vidar/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vidar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.9.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Krzysztof Knapik
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2023-
|
|
12
|
+
date: 2023-12-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: colorize
|
|
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
119
119
|
- !ruby/object:Gem::Version
|
|
120
120
|
version: '0'
|
|
121
121
|
requirements: []
|
|
122
|
-
rubygems_version: 3.4.
|
|
122
|
+
rubygems_version: 3.4.22
|
|
123
123
|
signing_key:
|
|
124
124
|
specification_version: 4
|
|
125
125
|
summary: K8s deployment tools based on thor
|