ddsl 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: f71118bf1db75829c800cdc9a8f8be55a563f22b
4
- data.tar.gz: 4009fa8ce03a9c76b085e8b5fdc01ad5f37a27b1
3
+ metadata.gz: b07b6c315e69c2af20ad368cbcf4825675490c3c
4
+ data.tar.gz: 939717c286543d4dc4b1ab9d5360341fc7998aa1
5
5
  SHA512:
6
- metadata.gz: c5994bb90f41a8f49358f9ef9f1b76c1bbb40d6693c933d390d89f6b7b118bc4f4c59f917f341fc273441895f889343307ca955b596ae3e2f957a447499d7890
7
- data.tar.gz: 8399bd7b709813fe7fafba8fe51a1bf9ee2b256be72a49fc417c22f2097bd80d765a3e238a51bac20bed710db1db4e16c8abd328cfe74d9dee62bcec6a79a34d
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-deploy:
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=$CIRCLE_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=$CIRCLE_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=$CIRCLE_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
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ddsl (0.0.1)
4
+ ddsl (0.0.2)
5
5
  clamp (~> 1)
6
+ json (~> 2)
6
7
  json-schema (~> 2)
7
8
  transproc (~> 1)
8
9
 
data/README.md CHANGED
@@ -8,11 +8,24 @@ Docker Declarative Specific Language
8
8
  version: 1
9
9
 
10
10
  builds:
11
- - name: main
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 | [![CircleCI](https://circleci.com/gh/bilby91/ddsl/tree/master.svg?style=svg)](https://circleci.com/gh/bilby91/ddsl/tree/master) |
64
+ | Travis CI | [![Build Status](https://travis-ci.com/bilby91/ddsl.svg?branch=master)](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] Build/Test DDSL using DDSL. Inception :)
50
- - [ ] Add CI GitLab
51
- - [ ] Add CI Travis
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 <mfernandez@geofore.com>
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 <mfernandez@geoforce.com>"
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 bundle exec gem build ddsl.gemspec
42
+ RUN gem build ddsl.gemspec
42
43
 
43
44
  # Install binary
44
- RUN bundle exec gem install --no-rdoc --no-ri --local ddsl-0.0.1.gem
45
+ # FIXME: We need to load the version dynamically
46
+ RUN gem install --no-rdoc --no-ri --local ddsl-0.0.2.gem
@@ -1,9 +1,13 @@
1
1
  FROM docker:18.05
2
2
 
3
- LABEL maintainer="Martín Fernández <mfernandez@geoforce.com>"
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DDSL
4
- VERSION = '0.0.1'
4
+ VERSION = '0.0.2'
5
5
  end
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.1
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-28 00:00:00.000000000 Z
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