djin 0.11.6 → 0.11.7
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/.github/workflows/ruby.yml +3 -3
- data/CHANGELOG.md +5 -0
- data/Dockerfile +1 -1
- data/Gemfile.lock +18 -13
- data/README.md +13 -14
- data/djin.gemspec +6 -1
- data/examples/djin.yml +1 -1
- data/examples/djin_lib/test.yml +1 -1
- data/examples/local_tasks/djin.yml +1 -1
- data/examples/remote_tasks/djin.yml +1 -1
- data/lib/djin/config_loader.rb +1 -1
- data/lib/djin/version.rb +1 -1
- metadata +75 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 334bacc0c5681d6f6f231afaaa65c8be71a6d8c9f6c0aa1d2c77a830328285df
|
|
4
|
+
data.tar.gz: 123947c969381b5bdca2e5a66635333f8f5f63ab771833cfccfbc8a1ee5d7efe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fab86e9ee5d886fc8e9717df718af42fe8694dc7bbcb0911699b987da94f3faecbdb29112af212152d3050b9a8919558a09af05afccc75ec89380556c38f7141
|
|
7
|
+
data.tar.gz: 22445b50834c0d054c5d1bc5caea641ab2f8361f9c0c7862773281e37be68269ad27743a25de4eb5277d77ae29a693e009ad19def31e138f2ad55eef93dd16f1
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -4,7 +4,7 @@ on: [push, workflow_dispatch]
|
|
|
4
4
|
|
|
5
5
|
jobs:
|
|
6
6
|
build:
|
|
7
|
-
runs-on: ubuntu-
|
|
7
|
+
runs-on: ubuntu-18.04
|
|
8
8
|
strategy:
|
|
9
9
|
matrix:
|
|
10
10
|
ruby: [ '2.5', '2.6', '2.7' ]
|
|
@@ -20,7 +20,7 @@ jobs:
|
|
|
20
20
|
|
|
21
21
|
- name: Build
|
|
22
22
|
run: |
|
|
23
|
-
docker-compose -p djin_ruby_${{ matrix.ruby }} build --build-arg
|
|
23
|
+
docker-compose -p djin_ruby_${{ matrix.ruby }} build --build-arg RUBY_VERSION=${{ matrix.ruby }} app
|
|
24
24
|
|
|
25
25
|
- name: Run tests
|
|
26
26
|
run: |
|
|
@@ -34,7 +34,7 @@ jobs:
|
|
|
34
34
|
docker-compose -p djin_ruby_${{ matrix.ruby }} run --rm app 'export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}" && ./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}'
|
|
35
35
|
|
|
36
36
|
lint:
|
|
37
|
-
runs-on: ubuntu-
|
|
37
|
+
runs-on: ubuntu-18.04
|
|
38
38
|
name: Lint
|
|
39
39
|
steps:
|
|
40
40
|
- uses: actions/checkout@v2
|
data/CHANGELOG.md
CHANGED
data/Dockerfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
djin (0.11.
|
|
4
|
+
djin (0.11.7)
|
|
5
5
|
dry-cli (~> 0.6.0)
|
|
6
|
+
dry-configurable (~> 0.9.0)
|
|
7
|
+
dry-container (~> 0.7.0)
|
|
8
|
+
dry-core (~> 0.6.0)
|
|
6
9
|
dry-equalizer (~> 0.3.0)
|
|
10
|
+
dry-inflector (~> 0.1.0)
|
|
11
|
+
dry-schema (~> 1.6.0)
|
|
7
12
|
dry-struct (~> 1.3.0)
|
|
8
|
-
dry-validation (
|
|
13
|
+
dry-validation (= 1.5.1)
|
|
9
14
|
git (~> 1.8.1)
|
|
10
15
|
mustache (~> 1.1.1)
|
|
11
16
|
vseries (~> 0.1.0)
|
|
@@ -26,21 +31,21 @@ GEM
|
|
|
26
31
|
docile (1.3.2)
|
|
27
32
|
dry-cli (0.6.0)
|
|
28
33
|
concurrent-ruby (~> 1.0)
|
|
29
|
-
dry-configurable (0.
|
|
34
|
+
dry-configurable (0.9.0)
|
|
30
35
|
concurrent-ruby (~> 1.0)
|
|
31
|
-
dry-core (~> 0.
|
|
36
|
+
dry-core (~> 0.4, >= 0.4.7)
|
|
32
37
|
dry-container (0.7.2)
|
|
33
38
|
concurrent-ruby (~> 1.0)
|
|
34
39
|
dry-configurable (~> 0.1, >= 0.1.3)
|
|
35
|
-
dry-core (0.
|
|
40
|
+
dry-core (0.6.0)
|
|
36
41
|
concurrent-ruby (~> 1.0)
|
|
37
42
|
dry-equalizer (0.3.0)
|
|
38
|
-
dry-inflector (0.2
|
|
43
|
+
dry-inflector (0.1.2)
|
|
39
44
|
dry-initializer (3.0.4)
|
|
40
|
-
dry-logic (1.
|
|
45
|
+
dry-logic (1.2.0)
|
|
41
46
|
concurrent-ruby (~> 1.0)
|
|
42
47
|
dry-core (~> 0.5, >= 0.5)
|
|
43
|
-
dry-schema (1.6.
|
|
48
|
+
dry-schema (1.6.2)
|
|
44
49
|
concurrent-ruby (~> 1.0)
|
|
45
50
|
dry-configurable (~> 0.8, >= 0.8.3)
|
|
46
51
|
dry-core (~> 0.5, >= 0.5)
|
|
@@ -58,13 +63,13 @@ GEM
|
|
|
58
63
|
dry-core (~> 0.5, >= 0.5)
|
|
59
64
|
dry-inflector (~> 0.1, >= 0.1.2)
|
|
60
65
|
dry-logic (~> 1.0, >= 1.0.2)
|
|
61
|
-
dry-validation (1.5.
|
|
66
|
+
dry-validation (1.5.1)
|
|
62
67
|
concurrent-ruby (~> 1.0)
|
|
63
68
|
dry-container (~> 0.7, >= 0.7.1)
|
|
64
69
|
dry-core (~> 0.4)
|
|
65
70
|
dry-equalizer (~> 0.2)
|
|
66
71
|
dry-initializer (~> 3.0)
|
|
67
|
-
dry-schema (~> 1.5
|
|
72
|
+
dry-schema (~> 1.5)
|
|
68
73
|
factory_bot (6.1.0)
|
|
69
74
|
activesupport (>= 5.0.0)
|
|
70
75
|
git (1.8.1)
|
|
@@ -79,10 +84,10 @@ GEM
|
|
|
79
84
|
parser (2.7.1.4)
|
|
80
85
|
ast (~> 2.4.1)
|
|
81
86
|
rainbow (3.0.0)
|
|
82
|
-
rake (13.0.
|
|
87
|
+
rake (13.0.6)
|
|
83
88
|
rchardet (1.8.0)
|
|
84
89
|
regexp_parser (1.7.1)
|
|
85
|
-
rexml (3.2.
|
|
90
|
+
rexml (3.2.5)
|
|
86
91
|
rspec (3.9.0)
|
|
87
92
|
rspec-core (~> 3.9.0)
|
|
88
93
|
rspec-expectations (~> 3.9.0)
|
|
@@ -133,4 +138,4 @@ DEPENDENCIES
|
|
|
133
138
|
simplecov (~> 0.17.0)
|
|
134
139
|
|
|
135
140
|
BUNDLED WITH
|
|
136
|
-
2.
|
|
141
|
+
2.2.24
|
data/README.md
CHANGED
|
@@ -27,7 +27,7 @@ If you use Rbenv you can install djin only once and create an alias in your .bas
|
|
|
27
27
|
To use djin first you need to create a djin.yml file:
|
|
28
28
|
|
|
29
29
|
```yaml
|
|
30
|
-
djin_version: '0.11.
|
|
30
|
+
djin_version: '0.11.7'
|
|
31
31
|
|
|
32
32
|
tasks:
|
|
33
33
|
# With a docker image
|
|
@@ -54,7 +54,7 @@ You can also set task dependencies with depends_on option:
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
```yaml
|
|
57
|
-
djin_version: '0.11.
|
|
57
|
+
djin_version: '0.11.7'
|
|
58
58
|
|
|
59
59
|
_default_run_options: &default_run_options
|
|
60
60
|
options: "--rm"
|
|
@@ -83,7 +83,7 @@ tasks:
|
|
|
83
83
|
Or mix local commands and docker/docker-compose commands:
|
|
84
84
|
|
|
85
85
|
```yaml
|
|
86
|
-
djin_version: '0.11.
|
|
86
|
+
djin_version: '0.11.7'
|
|
87
87
|
|
|
88
88
|
_default_run_options: &default_run_options
|
|
89
89
|
options: "--rm"
|
|
@@ -122,7 +122,7 @@ After that you can run `djin {{task_name}}`, like `djin script` or `djin test`
|
|
|
122
122
|
You can also use environment variables using the '{{YOUR_ENV_HERE}}' syntax, like so:
|
|
123
123
|
|
|
124
124
|
```yaml
|
|
125
|
-
djin_version: '0.11.
|
|
125
|
+
djin_version: '0.11.7'
|
|
126
126
|
|
|
127
127
|
_default_run_options: &default_run_options
|
|
128
128
|
options: "--rm"
|
|
@@ -139,7 +139,7 @@ tasks:
|
|
|
139
139
|
|
|
140
140
|
Or define some variables to use in multiple locations
|
|
141
141
|
```yaml
|
|
142
|
-
djin_version: '0.11.
|
|
142
|
+
djin_version: '0.11.7'
|
|
143
143
|
|
|
144
144
|
_default_run_options: &default_run_options
|
|
145
145
|
options: "--rm"
|
|
@@ -163,7 +163,7 @@ tasks:
|
|
|
163
163
|
It's also possible to pass custom arguments to the command, which means is possible to make a djin task act like the command itself:
|
|
164
164
|
|
|
165
165
|
```yaml
|
|
166
|
-
djin_version: '0.11.
|
|
166
|
+
djin_version: '0.11.7'
|
|
167
167
|
|
|
168
168
|
_default_run_options: &default_run_options
|
|
169
169
|
options: "--rm"
|
|
@@ -189,7 +189,7 @@ Under the hood djin uses [Mustache](https://mustache.github.io/), so you can use
|
|
|
189
189
|
If you have multiple tasks with similar behavior and with small differences you can use the `include` keyword, so this:
|
|
190
190
|
|
|
191
191
|
```yaml
|
|
192
|
-
djin_version: '0.11.
|
|
192
|
+
djin_version: '0.11.7'
|
|
193
193
|
|
|
194
194
|
tasks:
|
|
195
195
|
"host1:ssh":
|
|
@@ -228,7 +228,7 @@ can become this:
|
|
|
228
228
|
|
|
229
229
|
```yaml
|
|
230
230
|
# djin.yml
|
|
231
|
-
djin_version: '0.11.
|
|
231
|
+
djin_version: '0.11.7'
|
|
232
232
|
|
|
233
233
|
include:
|
|
234
234
|
- file: '.djin/server_tasks.yml'
|
|
@@ -250,7 +250,7 @@ include:
|
|
|
250
250
|
|
|
251
251
|
```yaml
|
|
252
252
|
# .djin/server_tasks.yml
|
|
253
|
-
djin_version: '0.11.
|
|
253
|
+
djin_version: '0.11.7'
|
|
254
254
|
|
|
255
255
|
tasks:
|
|
256
256
|
"{{namespace}}:ssh":
|
|
@@ -272,7 +272,7 @@ tasks:
|
|
|
272
272
|
You can also reuse tasks in some git repository, to do that you need to declare a git source and optionally a version:
|
|
273
273
|
|
|
274
274
|
```yaml
|
|
275
|
-
djin_version: '0.11.
|
|
275
|
+
djin_version: '0.11.7'
|
|
276
276
|
|
|
277
277
|
include:
|
|
278
278
|
- git: 'https://github.com/catks/djin.git'
|
|
@@ -315,10 +315,9 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
315
315
|
|
|
316
316
|
## TODO
|
|
317
317
|
|
|
318
|
-
1.
|
|
319
|
-
2.
|
|
320
|
-
|
|
321
|
-
4. include a key option to add tasks in git repositories files (maybe with a local cache)
|
|
318
|
+
1. Option to export tasks to Makefile
|
|
319
|
+
2. djin-export docker image to create and sync makefiles
|
|
320
|
+
|
|
322
321
|
|
|
323
322
|
## Contributing
|
|
324
323
|
|
data/djin.gemspec
CHANGED
|
@@ -28,9 +28,14 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
spec.require_paths = ['lib']
|
|
29
29
|
|
|
30
30
|
spec.add_dependency 'dry-cli', '~> 0.6.0'
|
|
31
|
+
spec.add_dependency 'dry-configurable', '~> 0.9.0'
|
|
32
|
+
spec.add_dependency 'dry-container', '~> 0.7.0'
|
|
33
|
+
spec.add_dependency 'dry-core', '~> 0.6.0'
|
|
31
34
|
spec.add_dependency 'dry-equalizer', '~> 0.3.0'
|
|
35
|
+
spec.add_dependency 'dry-inflector', '~> 0.1.0'
|
|
36
|
+
spec.add_dependency 'dry-schema', '~> 1.6.0'
|
|
32
37
|
spec.add_dependency 'dry-struct', '~> 1.3.0'
|
|
33
|
-
spec.add_dependency 'dry-validation', '
|
|
38
|
+
spec.add_dependency 'dry-validation', '= 1.5.1'
|
|
34
39
|
spec.add_dependency 'git', '~> 1.8.1'
|
|
35
40
|
spec.add_dependency 'mustache', '~> 1.1.1'
|
|
36
41
|
spec.add_dependency 'vseries', '~> 0.1.0'
|
data/examples/djin.yml
CHANGED
data/examples/djin_lib/test.yml
CHANGED
data/lib/djin/config_loader.rb
CHANGED
|
@@ -161,7 +161,7 @@ module Djin
|
|
|
161
161
|
|
|
162
162
|
return if file_config.version_supported?
|
|
163
163
|
|
|
164
|
-
raise VersionNotSupportedError, "Version #{version} is not supported,
|
|
164
|
+
raise VersionNotSupportedError, "Version #{version} is not supported, the current version is #{Djin::VERSION}"
|
|
165
165
|
end
|
|
166
166
|
|
|
167
167
|
def validate_missing_config!
|
data/lib/djin/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: djin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Carlos Atkinson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-10-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: dry-cli
|
|
@@ -24,6 +24,48 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: 0.6.0
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: dry-configurable
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 0.9.0
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 0.9.0
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: dry-container
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 0.7.0
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 0.7.0
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: dry-core
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 0.6.0
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 0.6.0
|
|
27
69
|
- !ruby/object:Gem::Dependency
|
|
28
70
|
name: dry-equalizer
|
|
29
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -38,6 +80,34 @@ dependencies:
|
|
|
38
80
|
- - "~>"
|
|
39
81
|
- !ruby/object:Gem::Version
|
|
40
82
|
version: 0.3.0
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: dry-inflector
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: 0.1.0
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 0.1.0
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: dry-schema
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 1.6.0
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 1.6.0
|
|
41
111
|
- !ruby/object:Gem::Dependency
|
|
42
112
|
name: dry-struct
|
|
43
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -56,14 +126,14 @@ dependencies:
|
|
|
56
126
|
name: dry-validation
|
|
57
127
|
requirement: !ruby/object:Gem::Requirement
|
|
58
128
|
requirements:
|
|
59
|
-
- -
|
|
129
|
+
- - '='
|
|
60
130
|
- !ruby/object:Gem::Version
|
|
61
131
|
version: 1.5.1
|
|
62
132
|
type: :runtime
|
|
63
133
|
prerelease: false
|
|
64
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
135
|
requirements:
|
|
66
|
-
- -
|
|
136
|
+
- - '='
|
|
67
137
|
- !ruby/object:Gem::Version
|
|
68
138
|
version: 1.5.1
|
|
69
139
|
- !ruby/object:Gem::Dependency
|
|
@@ -273,8 +343,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
273
343
|
- !ruby/object:Gem::Version
|
|
274
344
|
version: '0'
|
|
275
345
|
requirements: []
|
|
276
|
-
|
|
277
|
-
rubygems_version: 2.7.6
|
|
346
|
+
rubygems_version: 3.1.6
|
|
278
347
|
signing_key:
|
|
279
348
|
specification_version: 4
|
|
280
349
|
summary: djin is a make-like utility for docker containers
|