ddsl 0.0.1 → 0.0.2
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/.circleci/config.yml +4 -7
- data/.ddsl.yml +4 -4
- data/.gitlab-ci.yml +34 -0
- data/.travis.yml +33 -0
- data/Gemfile.lock +2 -1
- data/README.md +36 -9
- data/ddsl.gemspec +1 -0
- data/docker/Dockerfile +5 -3
- data/docker/Dockerfile.dev +5 -1
- data/lib/ddsl/cli.rb +2 -0
- data/lib/ddsl/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b07b6c315e69c2af20ad368cbcf4825675490c3c
|
|
4
|
+
data.tar.gz: 939717c286543d4dc4b1ab9d5360341fc7998aa1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 95daea93b2c47753e9d54c0504a3fba3312a632e04738abb9564fd85c3365c840b86e10d79e3be62e7094a3a562729d8bc7b690bed4c96a52daf90e8ce4f828a
|
|
7
|
+
data.tar.gz: dbc8baf5444dd9d21e3104c045dadae3cd0be3abd5fb1438e7d988947b3f672ad62bf783f1c4ce559e47b904b658c615fc06459ab2b2fb16b3ebe6ada1f74303
|
data/.circleci/config.yml
CHANGED
|
@@ -4,13 +4,10 @@ docker_options: &docker_options
|
|
|
4
4
|
working_directory: ~/ddsl
|
|
5
5
|
docker:
|
|
6
6
|
- image: bilby91/ddsl:latest
|
|
7
|
-
auth:
|
|
8
|
-
username: $DOCKER_REGISTRY_USERNAME
|
|
9
|
-
password: $DOCKER_REGISTRY_PASSWORD
|
|
10
7
|
|
|
11
8
|
workflows:
|
|
12
9
|
version: 2
|
|
13
|
-
build-
|
|
10
|
+
build-test:
|
|
14
11
|
jobs:
|
|
15
12
|
- build
|
|
16
13
|
- test:
|
|
@@ -30,7 +27,7 @@ jobs:
|
|
|
30
27
|
command: echo "$DOCKER_REGISTRY_PASSWORD" | docker login --username $DOCKER_REGISTRY_USERNAME --password-stdin
|
|
31
28
|
- run:
|
|
32
29
|
command: |
|
|
33
|
-
export CI_SHA1
|
|
30
|
+
export CI_SHA1=circleci-$CIRCLE_SHA1
|
|
34
31
|
ddsl build feature-branch
|
|
35
32
|
test:
|
|
36
33
|
<<: *docker_options
|
|
@@ -41,7 +38,7 @@ jobs:
|
|
|
41
38
|
command: echo "$DOCKER_REGISTRY_PASSWORD" | docker login --username $DOCKER_REGISTRY_USERNAME --password-stdin
|
|
42
39
|
- run:
|
|
43
40
|
command: |
|
|
44
|
-
export CI_SHA1
|
|
41
|
+
export CI_SHA1=circleci-$CIRCLE_SHA1
|
|
45
42
|
ddsl run test-ci
|
|
46
43
|
lint:
|
|
47
44
|
<<: *docker_options
|
|
@@ -52,5 +49,5 @@ jobs:
|
|
|
52
49
|
command: echo "$DOCKER_REGISTRY_PASSWORD" | docker login --username $DOCKER_REGISTRY_USERNAME --password-stdin
|
|
53
50
|
- run:
|
|
54
51
|
command: |
|
|
55
|
-
export CI_SHA1
|
|
52
|
+
export CI_SHA1=circleci-$CIRCLE_SHA1
|
|
56
53
|
ddsl run lint-ci
|
data/.ddsl.yml
CHANGED
|
@@ -22,22 +22,22 @@ builds:
|
|
|
22
22
|
- bilby91/ddsl:latest
|
|
23
23
|
- name: dev
|
|
24
24
|
type: docker-compose
|
|
25
|
-
file: docker/docker-compose.yml
|
|
25
|
+
file: docker/docker-compose.yml
|
|
26
26
|
|
|
27
27
|
runs:
|
|
28
28
|
- name: bash
|
|
29
29
|
type: docker-compose
|
|
30
|
-
file: docker/docker-compose.yml
|
|
30
|
+
file: docker/docker-compose.yml
|
|
31
31
|
service: ddsl
|
|
32
32
|
cmd: /bin/bash
|
|
33
33
|
- name: test-ci
|
|
34
34
|
type: docker
|
|
35
35
|
image: bilby91/ddsl:$CI_SHA1
|
|
36
|
-
cmd: rspec spec
|
|
36
|
+
cmd: bundle exec rspec spec
|
|
37
37
|
- name: test
|
|
38
38
|
type: docker
|
|
39
39
|
image: bilby91/ddsl:latest
|
|
40
|
-
cmd: rspec spec
|
|
40
|
+
cmd: bundle exec rspec spec
|
|
41
41
|
- name: lint-ci
|
|
42
42
|
type: docker
|
|
43
43
|
image: bilby91/ddsl:$CI_SHA1
|
data/.gitlab-ci.yml
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
image: bilby91/ddsl:latest
|
|
2
|
+
|
|
3
|
+
variables:
|
|
4
|
+
DOCKER_HOST: tcp://docker:2375
|
|
5
|
+
DOCKER_DRIVER: overlay2
|
|
6
|
+
|
|
7
|
+
services:
|
|
8
|
+
- docker:dind
|
|
9
|
+
stages:
|
|
10
|
+
- build
|
|
11
|
+
- checks
|
|
12
|
+
before_script:
|
|
13
|
+
- echo $DOCKER_REGISTRY_PASSWORD | docker login -u "$DOCKER_REGISTRY_USERNAME" --password-stdin
|
|
14
|
+
- export CI_SHA1=gitlab-$CI_COMMIT_SHA
|
|
15
|
+
build:
|
|
16
|
+
stage: build
|
|
17
|
+
script:
|
|
18
|
+
- ddsl build feature-branch
|
|
19
|
+
except:
|
|
20
|
+
- master
|
|
21
|
+
build-master:
|
|
22
|
+
stage: build
|
|
23
|
+
script:
|
|
24
|
+
- ddsl build master-branch
|
|
25
|
+
only:
|
|
26
|
+
- master
|
|
27
|
+
test:
|
|
28
|
+
stage: checks
|
|
29
|
+
script:
|
|
30
|
+
- ddsl run test-ci
|
|
31
|
+
lint:
|
|
32
|
+
stage: checks
|
|
33
|
+
script:
|
|
34
|
+
- ddsl run lint-ci
|
data/.travis.yml
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
language: ruby
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
- docker
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
global:
|
|
8
|
+
- DDSL_VERSION=0.0.2
|
|
9
|
+
- DOCKER_COMPOSE_VERSION=1.23.1
|
|
10
|
+
|
|
11
|
+
stages:
|
|
12
|
+
- build
|
|
13
|
+
- checks
|
|
14
|
+
|
|
15
|
+
before_install:
|
|
16
|
+
- sudo rm /usr/local/bin/docker-compose
|
|
17
|
+
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
|
18
|
+
- chmod +x docker-compose
|
|
19
|
+
- sudo mv docker-compose /usr/local/bin
|
|
20
|
+
- gem install ddsl --version=$DDSL_VERSION
|
|
21
|
+
- echo "$TRAVIS_COMMIT"
|
|
22
|
+
- docker login -u "$DOCKER_REGISTRY_USERNAME" -p "$DOCKER_REGISTRY_PASSWORD"
|
|
23
|
+
- export CI_SHA1=travis-$TRAVIS_COMMIT
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
include:
|
|
27
|
+
- stage: build
|
|
28
|
+
script: ddsl build feature-branch
|
|
29
|
+
- stage: checks
|
|
30
|
+
script: |
|
|
31
|
+
ddsl run test-ci
|
|
32
|
+
- script: |
|
|
33
|
+
ddsl run lint-ci
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -8,11 +8,24 @@ Docker Declarative Specific Language
|
|
|
8
8
|
version: 1
|
|
9
9
|
|
|
10
10
|
builds:
|
|
11
|
-
- name:
|
|
11
|
+
- name: feature-branch
|
|
12
12
|
type: docker
|
|
13
13
|
context: .
|
|
14
14
|
file: docker/Dockerfile
|
|
15
15
|
tags:
|
|
16
|
+
- bilby91/ddsl:$CI_SHA1
|
|
17
|
+
push: true
|
|
18
|
+
cache_from:
|
|
19
|
+
- bilby91/ddsl:latest
|
|
20
|
+
- name: master-branch
|
|
21
|
+
type: docker
|
|
22
|
+
context: .
|
|
23
|
+
file: docker/Dockerfile
|
|
24
|
+
tags:
|
|
25
|
+
- bilby91/ddsl:$CI_SHA1
|
|
26
|
+
- bilby91/ddsl:latest
|
|
27
|
+
push: true
|
|
28
|
+
cache_from:
|
|
16
29
|
- bilby91/ddsl:latest
|
|
17
30
|
- name: dev
|
|
18
31
|
type: docker-compose
|
|
@@ -24,18 +37,32 @@ runs:
|
|
|
24
37
|
file: docker/docker-compose.yml
|
|
25
38
|
service: ddsl
|
|
26
39
|
cmd: /bin/bash
|
|
27
|
-
|
|
40
|
+
- name: test-ci
|
|
41
|
+
type: docker
|
|
42
|
+
image: bilby91/ddsl:$CI_SHA1
|
|
43
|
+
cmd: bundle exec rspec spec
|
|
28
44
|
- name: test
|
|
29
45
|
type: docker
|
|
30
46
|
image: bilby91/ddsl:latest
|
|
31
|
-
cmd: rspec spec
|
|
32
|
-
|
|
47
|
+
cmd: bundle exec rspec spec
|
|
48
|
+
- name: lint-ci
|
|
49
|
+
type: docker
|
|
50
|
+
image: bilby91/ddsl:$CI_SHA1
|
|
51
|
+
cmd: rubocop .
|
|
33
52
|
- name: lint
|
|
34
53
|
type: docker
|
|
35
54
|
image: bilby91/ddsl:latest
|
|
36
55
|
cmd: rubocop .
|
|
37
56
|
```
|
|
38
57
|
|
|
58
|
+
## Contnious Integration
|
|
59
|
+
|
|
60
|
+
| Provider | Status |
|
|
61
|
+
|-----------|---------------------------------------------------------------------------------------------------------------------------------|
|
|
62
|
+
| GitLab CI | |
|
|
63
|
+
| Circle CI | [](https://circleci.com/gh/bilby91/ddsl/tree/master) |
|
|
64
|
+
| Travis CI | [](https://travis-ci.com/bilby91/ddsl) |
|
|
65
|
+
|
|
39
66
|
## Dependencies
|
|
40
67
|
|
|
41
68
|
- ruby
|
|
@@ -46,13 +73,13 @@ runs:
|
|
|
46
73
|
|
|
47
74
|
- [X] Docker Compose support
|
|
48
75
|
- [X] Variable interpolation
|
|
49
|
-
- [X]
|
|
50
|
-
- [
|
|
51
|
-
- [
|
|
52
|
-
- [ ] Variable sharing/reusing
|
|
76
|
+
- [X] Add CircleCI
|
|
77
|
+
- [X] Add GitLabCI
|
|
78
|
+
- [X] Add TravisCI
|
|
53
79
|
- [ ] Registries?
|
|
80
|
+
- [ ] Variable sharing/reusing
|
|
54
81
|
- [ ] External secret proviers ? (KMS, Google?)
|
|
55
82
|
|
|
56
83
|
## Contact
|
|
57
84
|
|
|
58
|
-
- Martín Fernández <
|
|
85
|
+
- Martín Fernández <fmartin91@gmail.com>
|
data/ddsl.gemspec
CHANGED
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.executables = ['ddsl']
|
|
19
19
|
spec.require_paths = ['lib']
|
|
20
20
|
spec.add_dependency 'clamp', '~> 1'
|
|
21
|
+
spec.add_dependency 'json', '~> 2'
|
|
21
22
|
spec.add_dependency 'json-schema', '~> 2'
|
|
22
23
|
spec.add_dependency 'transproc', '~> 1'
|
|
23
24
|
spec.add_development_dependency 'rspec', '~> 3'
|
data/docker/Dockerfile
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
FROM docker:18.05
|
|
2
2
|
|
|
3
|
-
LABEL maintainer="Martín Fernández <
|
|
3
|
+
LABEL maintainer="Martín Fernández <fmartin91@gmail.com>"
|
|
4
4
|
|
|
5
|
+
# Application directory
|
|
5
6
|
ENV APP_HOME /var/www/app
|
|
6
7
|
|
|
7
8
|
# Install the base tooling
|
|
@@ -38,7 +39,8 @@ RUN bundle install
|
|
|
38
39
|
COPY . $APP_HOME
|
|
39
40
|
|
|
40
41
|
# Build the gem locally
|
|
41
|
-
RUN
|
|
42
|
+
RUN gem build ddsl.gemspec
|
|
42
43
|
|
|
43
44
|
# Install binary
|
|
44
|
-
|
|
45
|
+
# FIXME: We need to load the version dynamically
|
|
46
|
+
RUN gem install --no-rdoc --no-ri --local ddsl-0.0.2.gem
|
data/docker/Dockerfile.dev
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
FROM docker:18.05
|
|
2
2
|
|
|
3
|
-
LABEL maintainer="Martín Fernández <
|
|
3
|
+
LABEL maintainer="Martín Fernández <fmartin91@gmail.com>"
|
|
4
4
|
|
|
5
|
+
# Application directory
|
|
5
6
|
ENV APP_HOME /var/www/app
|
|
6
7
|
|
|
8
|
+
# Configure gems path
|
|
9
|
+
ENV BUNDLE_PATH /bundle
|
|
10
|
+
|
|
7
11
|
# Install the base tooling
|
|
8
12
|
RUN apk add --no-cache \
|
|
9
13
|
build-base \
|
data/lib/ddsl/cli.rb
CHANGED
|
@@ -20,6 +20,7 @@ module DDSL
|
|
|
20
20
|
runner.run(spec)
|
|
21
21
|
rescue DDSL::Shell::ExitStatusError
|
|
22
22
|
$stdout.puts 'Build failed.'
|
|
23
|
+
exit(-1)
|
|
23
24
|
end
|
|
24
25
|
end
|
|
25
26
|
end
|
|
@@ -34,6 +35,7 @@ module DDSL
|
|
|
34
35
|
runner.run(spec)
|
|
35
36
|
rescue DDSL::Shell::ExitStatusError
|
|
36
37
|
$stdout.puts 'Run failed.'
|
|
38
|
+
exit(-1)
|
|
37
39
|
end
|
|
38
40
|
end
|
|
39
41
|
end
|
data/lib/ddsl/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ddsl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Fernandez
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-11-
|
|
11
|
+
date: 2018-11-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: clamp
|
|
@@ -24,6 +24,20 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '1'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: json
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '2'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '2'
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: json-schema
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -105,8 +119,10 @@ files:
|
|
|
105
119
|
- ".circleci/config.yml"
|
|
106
120
|
- ".ddsl.yml"
|
|
107
121
|
- ".gitignore"
|
|
122
|
+
- ".gitlab-ci.yml"
|
|
108
123
|
- ".rspec"
|
|
109
124
|
- ".rubocop.yml"
|
|
125
|
+
- ".travis.yml"
|
|
110
126
|
- Gemfile
|
|
111
127
|
- Gemfile.lock
|
|
112
128
|
- README.md
|