travis-yaml 0.1.0 → 0.2.0
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/.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
|
|