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 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