travis-yaml 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -8
- data/Gemfile +3 -6
- data/Gemfile.lock +20 -50
- data/README.md +97 -2
- data/SPEC.md +116 -33
- data/lib/travis/yaml.rb +6 -3
- data/lib/travis/yaml/matrix.rb +12 -17
- data/lib/travis/yaml/nodes.rb +4 -0
- data/lib/travis/yaml/nodes/addons.rb +44 -0
- data/lib/travis/yaml/nodes/android.rb +7 -0
- data/lib/travis/yaml/nodes/cache.rb +5 -3
- data/lib/travis/yaml/nodes/deploy_conditions.rb +2 -1
- data/lib/travis/yaml/nodes/deploy_entry.rb +46 -0
- data/lib/travis/yaml/nodes/dist.rb +6 -0
- data/lib/travis/yaml/nodes/env.rb +1 -1
- data/lib/travis/yaml/nodes/group.rb +6 -0
- data/lib/travis/yaml/nodes/language.rb +3 -2
- data/lib/travis/yaml/nodes/language_specific.rb +2 -2
- data/lib/travis/yaml/nodes/mapping.rb +39 -10
- data/lib/travis/yaml/nodes/node.rb +58 -1
- data/lib/travis/yaml/nodes/notifications.rb +10 -6
- data/lib/travis/yaml/nodes/open_mapping.rb +1 -1
- data/lib/travis/yaml/nodes/os.rb +1 -1
- data/lib/travis/yaml/nodes/os_entry.rb +7 -5
- data/lib/travis/yaml/nodes/root.rb +28 -4
- data/lib/travis/yaml/nodes/scalar.rb +16 -1
- data/lib/travis/yaml/nodes/sequence.rb +38 -0
- data/lib/travis/yaml/nodes/version.rb +13 -0
- data/lib/travis/yaml/nodes/version_list.rb +4 -0
- data/lib/travis/yaml/parser/psych.rb +11 -5
- data/lib/travis/yaml/secure_string.rb +35 -2
- data/lib/travis/yaml/serializer.rb +17 -0
- data/lib/travis/yaml/serializer/generic.rb +114 -0
- data/lib/travis/yaml/serializer/json.rb +72 -0
- data/lib/travis/yaml/serializer/legacy.rb +32 -0
- data/lib/travis/yaml/serializer/ruby.rb +13 -0
- data/lib/travis/yaml/serializer/yaml.rb +41 -0
- data/lib/travis/yaml/version.rb +1 -1
- data/play/spec.rb +24 -17
- data/spec/matrix_spec.rb +57 -0
- data/spec/nodes/addons_spec.rb +63 -0
- data/spec/nodes/cache_spec.rb +4 -4
- data/spec/nodes/deploy_spec.rb +12 -0
- data/spec/nodes/dist_spec.rb +11 -0
- data/spec/nodes/env_spec.rb +48 -0
- data/spec/nodes/git_spec.rb +1 -1
- data/spec/nodes/group_spec.rb +11 -0
- data/spec/nodes/node_js_spec.rb +14 -0
- data/spec/nodes/notifications_spec.rb +7 -0
- data/spec/nodes/os_spec.rb +13 -0
- data/spec/nodes/root_spec.rb +36 -0
- data/spec/nodes/secure_spec.rb +145 -0
- data/spec/parser/psych_spec.rb +6 -0
- data/spec/parser/ruby_spec.rb +1 -1
- data/spec/serializer/json_spec.rb +30 -0
- data/spec/serializer/legacy_spec.rb +47 -0
- data/spec/serializer/ruby_spec.rb +21 -0
- data/spec/serializer/yaml_spec.rb +47 -0
- data/spec/support/coverage.rb +9 -9
- data/spec/yaml_spec.rb +23 -0
- data/travis-yaml.gemspec +2 -3
- metadata +42 -22
- data/config.ru +0 -2
- data/play/weblint.rb +0 -296
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1f61d26437ffa23c1db1d0bcbd7b6aa7d241816
|
4
|
+
data.tar.gz: 711b3d7a38ef40135868bfeda3de2d480dcf64a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b53af5f90a07854c69c251f1959fdb8594cbe906e4b25c873570335d84835be949fb439556056f273aca2e44c167863c9ad1924426c7fa3ddb78f9d98f9d3a18
|
7
|
+
data.tar.gz: 20f6bed18ae94a9e70dd8411776e238af0a792a4e538ab3089cc91b31cc80fc04d117e2248bdf4203737b26c3f898a355154036b32f7d00775aa97f3fa3b8d55
|
data/.travis.yml
CHANGED
@@ -2,13 +2,8 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3
|
4
4
|
- 2.0.0
|
5
|
+
- 2.1.2
|
6
|
+
|
7
|
+
sudo: false
|
5
8
|
script: bundle exec rspec
|
6
9
|
bundler_args: "--without play"
|
7
|
-
deploy:
|
8
|
-
provider: heroku
|
9
|
-
api_key:
|
10
|
-
secure: OrCcUz+MNjlxNkReqCvQZq62Y5mdKxjA+Lwo6VdsuoWHIJ8ShKIZUhoWOE6B0VIYSxSBObkXULitqiuZAvJfHSmS6soowPc79VvVeetMkIxRbHG9v3utg5O5pHqjHeW7pOWwrvTR5sria9YPevFN3+0R/C3xsxnQrc8dw+06jEQ=
|
11
|
-
app: travis-yaml
|
12
|
-
on:
|
13
|
-
repo: travis-ci/travis-yaml
|
14
|
-
ruby: 2.0.0
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -2,72 +2,42 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
travis-yaml (0.1.0)
|
5
|
-
psych (~> 2.0)
|
6
5
|
|
7
6
|
GEM
|
8
7
|
remote: https://rubygems.org/
|
9
8
|
specs:
|
10
|
-
addressable (2.3.5)
|
11
|
-
backports (3.4.0)
|
12
9
|
diff-lcs (1.2.5)
|
13
|
-
docile (1.1.
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
multipart-post (2.0.0)
|
25
|
-
net-http-persistent (2.9)
|
26
|
-
net-http-pipeline (1.0.1)
|
27
|
-
psych (2.0.4)
|
28
|
-
rack (1.5.2)
|
29
|
-
rack-protection (1.5.2)
|
30
|
-
rack
|
31
|
-
rake (10.1.1)
|
32
|
-
rspec (3.0.0.beta2)
|
33
|
-
rspec-core (= 3.0.0.beta2)
|
34
|
-
rspec-expectations (= 3.0.0.beta2)
|
35
|
-
rspec-mocks (= 3.0.0.beta2)
|
36
|
-
rspec-core (3.0.0.beta2)
|
37
|
-
rspec-support (= 3.0.0.beta2)
|
38
|
-
rspec-expectations (3.0.0.beta2)
|
10
|
+
docile (1.1.5)
|
11
|
+
multi_json (1.10.1)
|
12
|
+
psych (2.0.5)
|
13
|
+
rake (10.3.2)
|
14
|
+
rspec (3.0.0)
|
15
|
+
rspec-core (~> 3.0.0)
|
16
|
+
rspec-expectations (~> 3.0.0)
|
17
|
+
rspec-mocks (~> 3.0.0)
|
18
|
+
rspec-core (3.0.3)
|
19
|
+
rspec-support (~> 3.0.0)
|
20
|
+
rspec-expectations (3.0.3)
|
39
21
|
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
-
rspec-support (
|
41
|
-
rspec-mocks (3.0.
|
42
|
-
rspec-support (
|
43
|
-
rspec-support (3.0.
|
44
|
-
safe_yaml (1.0.
|
45
|
-
|
46
|
-
simplecov (0.8.2)
|
22
|
+
rspec-support (~> 3.0.0)
|
23
|
+
rspec-mocks (3.0.3)
|
24
|
+
rspec-support (~> 3.0.0)
|
25
|
+
rspec-support (3.0.3)
|
26
|
+
safe_yaml (1.0.3)
|
27
|
+
simplecov (0.9.0)
|
47
28
|
docile (~> 1.1.0)
|
48
29
|
multi_json
|
49
30
|
simplecov-html (~> 0.8.0)
|
50
31
|
simplecov-html (0.8.0)
|
51
|
-
sinatra (1.4.4)
|
52
|
-
rack (~> 1.4)
|
53
|
-
rack-protection (~> 1.4)
|
54
|
-
tilt (~> 1.3, >= 1.3.4)
|
55
|
-
slim (1.3.9)
|
56
|
-
temple (~> 0.6.3)
|
57
|
-
tilt (~> 1.3, >= 1.3.3)
|
58
|
-
temple (0.6.7)
|
59
|
-
tilt (1.4.1)
|
60
32
|
|
61
33
|
PLATFORMS
|
34
|
+
java
|
62
35
|
ruby
|
63
36
|
|
64
37
|
DEPENDENCIES
|
65
|
-
|
38
|
+
psych (~> 2.0)
|
66
39
|
rake
|
67
|
-
rspec (~> 3.0
|
40
|
+
rspec (~> 3.0)
|
68
41
|
safe_yaml (~> 1.0.1)
|
69
|
-
sass (~> 3.1)
|
70
42
|
simplecov
|
71
|
-
sinatra
|
72
|
-
slim (~> 1.3)
|
73
43
|
travis-yaml!
|
data/README.md
CHANGED
@@ -43,9 +43,104 @@ end
|
|
43
43
|
|
44
44
|
## What is missing?
|
45
45
|
|
46
|
-
* Full definition of current .travis.yml format
|
47
46
|
* Serialization
|
48
47
|
|
48
|
+
## External API
|
49
|
+
|
50
|
+
### Loading a config
|
51
|
+
|
52
|
+
``` ruby
|
53
|
+
config = Travis::Yaml.parse('language: ruby') # parse from a yaml string
|
54
|
+
config = Travis::Yaml.parse(language: "ruby") # parse from Ruby object
|
55
|
+
```
|
56
|
+
|
57
|
+
For Psych/YAML compatibility, `parse` is also aliased to `load`.
|
58
|
+
|
59
|
+
### Convenience
|
60
|
+
|
61
|
+
Nodes generally behave like normal Ruby objects. Mappings accept both symbols and strings as keys. Known fields on mappings are exposed as methods.
|
62
|
+
|
63
|
+
``` ruby
|
64
|
+
puts config.language
|
65
|
+
puts config[:language]
|
66
|
+
puts config['language']
|
67
|
+
```
|
68
|
+
|
69
|
+
### Warnings and errors
|
70
|
+
|
71
|
+
* **errors** are actual parse errors, parent elements should discard elements with errors.
|
72
|
+
* **warnigns** are general warnings for an element, with the element still being usable. These do not include warnings for child elements (though an error in a child element becomes a warning for its immediate parent).
|
73
|
+
* **nested warnings** include warnigns for the whole tree, they also come with key prefix (array of strings) to identify the position the error occured at.
|
74
|
+
|
75
|
+
``` ruby
|
76
|
+
Travis::Yaml.parse("foo: bar").nested_warnings.each do |key, warning|
|
77
|
+
puts "#{key.join('.')}: #{warning}"
|
78
|
+
end
|
79
|
+
|
80
|
+
# will print nested warnings to stderr, will raise on top level error
|
81
|
+
Travis::Yaml.parse! "foo: bar"
|
82
|
+
```
|
83
|
+
|
84
|
+
### Secure Variables
|
85
|
+
|
86
|
+
Secure variables are stored as `Travis::Yaml::SecureString` internally. A secure string has at least an `encrypted_string` or a `decrypted_string`, or both.
|
87
|
+
|
88
|
+
You can use `decrypt`/`encrypt` with a block to generate the missing string:
|
89
|
+
|
90
|
+
``` ruby
|
91
|
+
secret = Travis::Yaml::SecureString.new("foo")
|
92
|
+
|
93
|
+
secret.encrypted_string # => "foo"
|
94
|
+
secret.decrypted_string # => nil
|
95
|
+
secret.encrypted? # => true
|
96
|
+
secret.decrypted? # => false
|
97
|
+
|
98
|
+
secret.decrypt { |string| string.upcase }
|
99
|
+
|
100
|
+
secret.encrypted_string # => "foo"
|
101
|
+
secret.decrypted_string # => "FOO"
|
102
|
+
secret.encrypted? # => true
|
103
|
+
secret.decrypted? # => true
|
104
|
+
```
|
105
|
+
|
106
|
+
To avoid having to walk the whole structure manually or hardcoding the values to decrypt, these methods are also exposed on any node:
|
107
|
+
|
108
|
+
``` ruby
|
109
|
+
config = Travis::Yaml.load 'env: { secure: foo }'
|
110
|
+
config.decrypted? # => false
|
111
|
+
|
112
|
+
config.decrypt { |string| string.upcase }
|
113
|
+
config.decrypted? # => true
|
114
|
+
config.env.matrix.first.decrypted_string # => "FOO"
|
115
|
+
```
|
116
|
+
|
117
|
+
This can even be done right with the parse step:
|
118
|
+
|
119
|
+
``` ruby
|
120
|
+
content = File.read('.travis.yml')
|
121
|
+
Travis::Yaml.parse! content do |config|
|
122
|
+
config.decrypt { |string| string.upcase }
|
123
|
+
end
|
124
|
+
```
|
125
|
+
|
126
|
+
### Serializiation
|
127
|
+
|
128
|
+
A travis-yaml document can be serialized to a few other formats via the `serialize` method:
|
129
|
+
|
130
|
+
``` ruby
|
131
|
+
pp config.serialize(:ruby)
|
132
|
+
puts config.serialize(:json, pretty: true)
|
133
|
+
```
|
134
|
+
|
135
|
+
Serializer | Descriptions | Options
|
136
|
+
-----------|-------------------------------------------------------------------|---------
|
137
|
+
`ruby` | Corresponding Ruby objects, secure values will be `SecureString`s | `secure`, `symbol_keys`
|
138
|
+
`legacy` | Format compatible with Travis CI's old `fetch_config` service | `secure`, `symbol_keys`
|
139
|
+
`json` | Serialize as JSON, parsable via `Travis::Yaml.load` | `secure`, `pretty`
|
140
|
+
`yaml` | Serialize as YAML, parsable via `Travis::Yaml.load` | `secure`, `symbol_keys`, `indentation`, `line_width`, `canonical`, `avoid_tags`
|
141
|
+
|
142
|
+
The `secure` option can be set to `:decrypted` or `:encrypted`, enforcing the decrypted or encrypted form of secure strings to be serialized. In some serializations, this might lead to secure strings being mapped to normal strings if set to `:decrypted`.
|
143
|
+
|
49
144
|
## Defining Structure
|
50
145
|
|
51
146
|
Good starting points for getting into the code are the [root](lib/travis/yaml/nodes/root.rb) node and the [language](lib/travis/yaml/nodes/language.rb) node.
|
@@ -78,7 +173,7 @@ module Travis::Yaml::Nodes
|
|
78
173
|
end
|
79
174
|
```
|
80
175
|
|
81
|
-
Available types are `str`, `binary`, `bool`, `float`, `int`, `time`, `secure` and `null`.
|
176
|
+
Available types are `str`, `binary`, `bool`, `float`, `int`, `time`, `regexp`, `secure` and `null`.
|
82
177
|
|
83
178
|
#### Default Value
|
84
179
|
|
data/SPEC.md
CHANGED
@@ -4,6 +4,63 @@ Here is a list of all the options understood by travis-yaml.
|
|
4
4
|
Note that stricitly speaking Travis CI might not have the same understanding of these as travis-yaml has at the moment, since travis-yaml is not yet being used.
|
5
5
|
|
6
6
|
### Available Options
|
7
|
+
#### `addons`
|
8
|
+
**Expected format:** Key value mapping.
|
9
|
+
|
10
|
+
#### `addons.code_climate`
|
11
|
+
**Expected format:** Key value mapping.
|
12
|
+
|
13
|
+
#### `addons.code_climate.repo_token`
|
14
|
+
**Expected format:** String or encrypted string.
|
15
|
+
|
16
|
+
#### `addons.coverity_scan`
|
17
|
+
**Expected format:** Key value mapping.
|
18
|
+
|
19
|
+
#### `addons.coverity_scan.branch_pattern`
|
20
|
+
**Expected format:** String or encrypted string.
|
21
|
+
|
22
|
+
#### `addons.coverity_scan.build_command`
|
23
|
+
**Expected format:** String or encrypted string.
|
24
|
+
|
25
|
+
#### `addons.coverity_scan.build_command_prepend`
|
26
|
+
**Expected format:** String or encrypted string.
|
27
|
+
|
28
|
+
#### `addons.coverity_scan.build_script_url`
|
29
|
+
**Expected format:** String or encrypted string.
|
30
|
+
|
31
|
+
#### `addons.coverity_scan.notification_email`
|
32
|
+
**Expected format:** String or encrypted string.
|
33
|
+
|
34
|
+
#### `addons.coverity_scan.project`
|
35
|
+
**Expected format:** Key value mapping.
|
36
|
+
|
37
|
+
#### `addons.coverity_scan.project.name`
|
38
|
+
**This setting is required!**
|
39
|
+
|
40
|
+
**Expected format:** String or encrypted string.
|
41
|
+
|
42
|
+
#### `addons.firefox`
|
43
|
+
`firefox` version to use.
|
44
|
+
|
45
|
+
**Expected format:** String.
|
46
|
+
|
47
|
+
#### `addons.hosts`
|
48
|
+
**Expected format:** List of strings; or a single string.
|
49
|
+
|
50
|
+
#### `addons.postgresql`
|
51
|
+
`postgresql` version to use.
|
52
|
+
|
53
|
+
**Expected format:** String.
|
54
|
+
|
55
|
+
#### `addons.sauce_connect`
|
56
|
+
**Expected format:** Key value mapping.
|
57
|
+
|
58
|
+
#### `addons.sauce_connect.access_key`
|
59
|
+
**Expected format:** String or encrypted string.
|
60
|
+
|
61
|
+
#### `addons.sauce_connect.username`
|
62
|
+
**Expected format:** String or encrypted string.
|
63
|
+
|
7
64
|
#### `after_deploy`
|
8
65
|
Commands that will be run on the VM.
|
9
66
|
|
@@ -29,6 +86,21 @@ Commands that will be run on the VM.
|
|
29
86
|
|
30
87
|
**Expected format:** List of strings; or a single string.
|
31
88
|
|
89
|
+
#### `android`
|
90
|
+
**This setting is only relevant if [`language`](#language) is set to `android`.**
|
91
|
+
|
92
|
+
**Expected format:** Key value mapping.
|
93
|
+
|
94
|
+
#### `android.components`
|
95
|
+
List of `components` versions to use.
|
96
|
+
|
97
|
+
**Expected format:** List of strings; or a single string.
|
98
|
+
|
99
|
+
#### `android.licenses`
|
100
|
+
List of `licenses` versions to use.
|
101
|
+
|
102
|
+
**Expected format:** List of strings; or a single string.
|
103
|
+
|
32
104
|
#### `before_deploy`
|
33
105
|
Commands that will be run on the VM.
|
34
106
|
|
@@ -45,7 +117,7 @@ Commands that will be run on the VM.
|
|
45
117
|
**Expected format:** List of strings; or a single string.
|
46
118
|
|
47
119
|
#### `branches`
|
48
|
-
**Expected format:** Key value mapping.
|
120
|
+
**Expected format:** Key value mapping, or list of strings or regular expressions.
|
49
121
|
|
50
122
|
#### `branches.except`
|
51
123
|
**Expected format:** List of strings or regular expressions; or a single string or regular expression.
|
@@ -67,9 +139,17 @@ Commands that will be run on the VM.
|
|
67
139
|
#### `cache.bundler`
|
68
140
|
**Expected format:** Boolean value.
|
69
141
|
|
142
|
+
#### `cache.cocoapods`
|
143
|
+
**Expected format:** Boolean value.
|
144
|
+
|
70
145
|
#### `cache.directories`
|
71
146
|
**Expected format:** List of strings; or a single string.
|
72
147
|
|
148
|
+
#### `cache.edge`
|
149
|
+
**This setting is experimental and might be removed!**
|
150
|
+
|
151
|
+
**Expected format:** Boolean value.
|
152
|
+
|
73
153
|
#### `compiler`
|
74
154
|
**This setting is only relevant if [`language`](#language) is set to `c` or `cpp`.**
|
75
155
|
|
@@ -86,13 +166,16 @@ Value has to be `gcc` (default) or `clang`; or one of the known aliases: `g++` f
|
|
86
166
|
**Expected format:** String.
|
87
167
|
|
88
168
|
#### `deploy`
|
89
|
-
**Expected format:** List of key value mappings; or a single key value mapping.
|
169
|
+
**Expected format:** List of key value mappings, or strings; or a single key value mapping, or string.
|
90
170
|
|
91
171
|
#### `deploy[]`
|
92
|
-
**Expected format:** Key value mapping.
|
172
|
+
**Expected format:** Key value mapping, or string.
|
93
173
|
|
94
174
|
#### `deploy[].*`
|
95
|
-
**Expected format:**
|
175
|
+
**Expected format:** Key value mapping, or string or encrypted string.
|
176
|
+
|
177
|
+
#### `deploy[].*.*`
|
178
|
+
**Expected format:** String or encrypted string.
|
96
179
|
|
97
180
|
#### `deploy[].edge`
|
98
181
|
**This setting is experimental and might be removed!**
|
@@ -100,16 +183,16 @@ Value has to be `gcc` (default) or `clang`; or one of the known aliases: `g++` f
|
|
100
183
|
**Expected format:** Boolean value.
|
101
184
|
|
102
185
|
#### `deploy[].on`
|
103
|
-
**Expected format:** Key value mapping.
|
186
|
+
**Expected format:** Key value mapping, or list of strings; or a single string.
|
104
187
|
|
105
188
|
#### `deploy[].on.all_branches`
|
106
189
|
**Expected format:** Boolean value.
|
107
190
|
|
108
191
|
#### `deploy[].on.branch`
|
109
|
-
**Expected format:**
|
192
|
+
**Expected format:** List of strings; or a single string.
|
110
193
|
|
111
194
|
#### `deploy[].on.condition`
|
112
|
-
**Expected format:**
|
195
|
+
**Expected format:** List of strings; or a single string.
|
113
196
|
|
114
197
|
#### `deploy[].on.jdk`
|
115
198
|
**This setting is only relevant if [`language`](#language) is set to `clojure`, `groovy`, `java`, `ruby` (default), `scala` or `android`.**
|
@@ -171,7 +254,7 @@ Alias for [`deploy[].on.ruby`](#deployonruby).
|
|
171
254
|
**Expected format:** String.
|
172
255
|
|
173
256
|
#### `env`
|
174
|
-
**Expected format:** Key value mapping.
|
257
|
+
**Expected format:** Key value mapping, or list of strings or encrypted strings.
|
175
258
|
|
176
259
|
#### `env.global`
|
177
260
|
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
@@ -234,7 +317,7 @@ List of `jdk` versions to use.
|
|
234
317
|
#### `language`
|
235
318
|
**This setting is required!**
|
236
319
|
|
237
|
-
Value has to be `c`, `cpp`, `clojure`, `erlang`, `go`, `groovy`, `haskell`, `java`, `node_js`, `objective-c`, `ruby` (default), `python`, `perl`, `php`, `scala` or `
|
320
|
+
Value has to be `c`, `cpp`, `clojure`, `erlang`, `go`, `groovy`, `haskell`, `java`, `node_js`, `objective-c`, `ruby` (default), `python`, `perl`, `php`, `scala`, `android` or `generic`; or one of the known aliases: `jvm` for `java`, `javascript` for `node_js`, `node` for `node_js`, `nodejs` for `node_js`, `golang` for `go`, `objective_c` for `objective-c`, `obj_c` for `objective-c`, `objc` for `objective-c`, `c++` for `cpp`, `node.js` for `node_js`, `obj-c` for `objective-c`, `bash` for `generic`, `sh` for `generic` or `shell` for `generic`. Setting is not case sensitive.
|
238
321
|
|
239
322
|
**Expected format:** String.
|
240
323
|
|
@@ -652,10 +735,10 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
652
735
|
**Expected format:** String.
|
653
736
|
|
654
737
|
#### `notifications.campfire.rooms`
|
655
|
-
**Expected format:** List of strings; or a single string.
|
738
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
656
739
|
|
657
740
|
#### `notifications.campfire.template`
|
658
|
-
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`.
|
741
|
+
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`, `%{commit_message}`.
|
659
742
|
|
660
743
|
**Expected format:** List of strings; or a single string.
|
661
744
|
|
@@ -684,31 +767,31 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
684
767
|
**Expected format:** String.
|
685
768
|
|
686
769
|
#### `notifications.email.recipients`
|
687
|
-
**Expected format:** List of strings; or a single string.
|
770
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
688
771
|
|
689
|
-
#### `notifications.
|
772
|
+
#### `notifications.flowdock`
|
690
773
|
**Expected format:** Key value mapping, or string, encrypted string, or boolean value.
|
691
774
|
|
692
|
-
#### `notifications.
|
775
|
+
#### `notifications.flowdock.api_token`
|
693
776
|
**Expected format:** String or encrypted string.
|
694
777
|
|
695
|
-
#### `notifications.
|
778
|
+
#### `notifications.flowdock.disabled`
|
696
779
|
**Expected format:** Boolean value.
|
697
780
|
|
698
|
-
#### `notifications.
|
781
|
+
#### `notifications.flowdock.enabled`
|
699
782
|
**Expected format:** Boolean value.
|
700
783
|
|
701
|
-
#### `notifications.
|
784
|
+
#### `notifications.flowdock.on_failure`
|
702
785
|
Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
703
786
|
|
704
787
|
**Expected format:** String.
|
705
788
|
|
706
|
-
#### `notifications.
|
789
|
+
#### `notifications.flowdock.on_start`
|
707
790
|
Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
708
791
|
|
709
792
|
**Expected format:** String.
|
710
793
|
|
711
|
-
#### `notifications.
|
794
|
+
#### `notifications.flowdock.on_success`
|
712
795
|
Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
713
796
|
|
714
797
|
**Expected format:** String.
|
@@ -743,10 +826,10 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
743
826
|
**Expected format:** String.
|
744
827
|
|
745
828
|
#### `notifications.hipchat.rooms`
|
746
|
-
**Expected format:** List of strings; or a single string.
|
829
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
747
830
|
|
748
831
|
#### `notifications.hipchat.template`
|
749
|
-
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`.
|
832
|
+
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`, `%{commit_message}`.
|
750
833
|
|
751
834
|
**Expected format:** List of strings; or a single string.
|
752
835
|
|
@@ -757,7 +840,7 @@ Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repo
|
|
757
840
|
**Expected format:** String or encrypted string.
|
758
841
|
|
759
842
|
#### `notifications.irc.channels`
|
760
|
-
**Expected format:** List of strings; or a single string.
|
843
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
761
844
|
|
762
845
|
#### `notifications.irc.disabled`
|
763
846
|
**Expected format:** Boolean value.
|
@@ -793,7 +876,7 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
793
876
|
**Expected format:** Boolean value.
|
794
877
|
|
795
878
|
#### `notifications.irc.template`
|
796
|
-
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`.
|
879
|
+
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`, `%{commit_message}`.
|
797
880
|
|
798
881
|
**Expected format:** List of strings; or a single string.
|
799
882
|
|
@@ -825,10 +908,10 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
825
908
|
**Expected format:** String.
|
826
909
|
|
827
910
|
#### `notifications.slack.rooms`
|
828
|
-
**Expected format:** List of strings; or a single string.
|
911
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
829
912
|
|
830
913
|
#### `notifications.slack.template`
|
831
|
-
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`.
|
914
|
+
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`, `%{commit_message}`.
|
832
915
|
|
833
916
|
**Expected format:** List of strings; or a single string.
|
834
917
|
|
@@ -857,10 +940,10 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
857
940
|
**Expected format:** String.
|
858
941
|
|
859
942
|
#### `notifications.sqwiggle.rooms`
|
860
|
-
**Expected format:** List of strings; or a single string.
|
943
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
861
944
|
|
862
945
|
#### `notifications.sqwiggle.template`
|
863
|
-
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`.
|
946
|
+
Strings will be interpolated. Available variables: `%{repository_slug}`, `%{repository_name}`, `%{repository}`, `%{build_number}`, `%{branch}`, `%{commit}`, `%{author}`, `%{message}`, `%{duration}`, `%{compare_url}`, `%{build_url}`, `%{commit_message}`.
|
864
947
|
|
865
948
|
**Expected format:** List of strings; or a single string.
|
866
949
|
|
@@ -892,7 +975,7 @@ Value has to be `always`, `never` or `change`. Setting is case sensitive.
|
|
892
975
|
**Expected format:** String.
|
893
976
|
|
894
977
|
#### `notifications.webhooks.urls`
|
895
|
-
**Expected format:** List of strings; or a single string.
|
978
|
+
**Expected format:** List of strings or encrypted strings; or a single string or encrypted string.
|
896
979
|
|
897
980
|
#### `npm_args`
|
898
981
|
**This setting is only relevant if [`language`](#language) is set to `node_js`.**
|
@@ -938,6 +1021,11 @@ List of `php` versions to use.
|
|
938
1021
|
|
939
1022
|
**Expected format:** List of strings; or a single string.
|
940
1023
|
|
1024
|
+
#### `podfile`
|
1025
|
+
`podfile` version to use.
|
1026
|
+
|
1027
|
+
**Expected format:** String.
|
1028
|
+
|
941
1029
|
#### `python`
|
942
1030
|
**This setting is only relevant if [`language`](#language) is set to `python`.**
|
943
1031
|
|
@@ -960,11 +1048,6 @@ Commands that will be run on the VM.
|
|
960
1048
|
|
961
1049
|
**Expected format:** List of strings; or a single string.
|
962
1050
|
|
963
|
-
#### `sdk_components`
|
964
|
-
**This setting is only relevant if [`language`](#language) is set to `android`.**
|
965
|
-
|
966
|
-
**Expected format:** List of strings; or a single string.
|
967
|
-
|
968
1051
|
#### `services`
|
969
1052
|
List of `services` versions to use.
|
970
1053
|
|