This repository has been archived by the owner on Mar 22, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
/
sample.papr.yml
218 lines (192 loc) · 6.16 KB
/
sample.papr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# This is a sample .papr.yml which documents all the
# supported fields. You can validate your .papr.yml file by
# using the validator.py script. It must be in UTF-8 format
# (though only fields denoted to support UTF-8 can contain
# non-ASCII values).
# REQUIRED (only one of 'host' or 'container' or 'cluster')
# Provision a single host.
host:
# REQUIRED
# Specify the distro to provision (see DISTROS.md for full list).
distro: fedora/27/atomic
# OPTIONAL
# Specify the minimum requirements the host must
# fulfill. The values defined below are the defaults
# used when no minimums are specified.
specs:
# OPTIONAL
# Minimum amount of RAM in MB.
ram: 2048
# OPTIONAL
# Minimum number of CPUs.
cpus: 1
# OPTIONAL
# Minimum size of primary disk in GB.
disk: 20
# OPTIONAL
# Minimum size of secondary disk in GB. Set to 0 if no
# secondary disk is needed.
secondary-disk: 0
# OPTIONAL
# If using an Atomic Host variant, you can specify which
# ostree to use. To use the latest tree on the current
# branch, use:
ostree: latest
# Otherwise, you may specify a tree by providing a dict:
ostree:
# OPTIONAL
# Specify the remote to which to rebase. If omitted,
# the current remote is used.
remote: http://example.com/remote/repo
# OPTIONAL
# Specify the branch to which to rebase. If omitted,
# the current branch is used.
branch: my/branch
# OPTIONAL
# Specify the version or checksum to deploy. If
# omitted, the latest commit is used.
revision: 7.145.42
# REQUIRED (only one of 'host' or 'container' or 'cluster')
# Provision a container.
container:
# REQUIRED
# Specify an FQIN or Docker Hub image.
image: registry.fedoraproject.org/fedora:27
# REQUIRED (only one of 'host' or 'container' or 'cluster')
# Provision multiple hosts.
cluster:
# REQUIRED
# List of hosts to provision. The same keys as `host`
# above are accepted.
hosts:
# REQUIRED
# Node hostname. Also makes the environment variable
# $RHCI_{name}_IP available (with dots and dashes
# replaced by underscores).
- name: host1
distro: centos/7/atomic
ostree: latest
- name: host2
distro: fedora/25/cloud
specs:
secondary-disk: 10
# OPTIONAL
# If specified, the scripts are run on this container.
# If omitted, the scripts are run on the first host
# listed in the 'hosts' list.
container:
image: fedora:27
# OPTIONAL
# List the branches to test. If omitted, only the master
# branch is tested.
branches:
- master
- dev
# OPTIONAL
# Whether this testsuite should run on pull requests. This
# is useful for example if you would like longer tests to
# only run on branches (for use with a merge bot). If
# omitted, defaults to true.
pulls: true
# OPTIONAL
# GitHub commit status context to use when reporting back
# status updates to GitHub. If omitted, defaults to
# 'Red Hat CI'.
context: 'CI Tester'
# OPTIONAL
# Mark this testsuite as required. This causes a special
# "required" context to be reported to GitHub. The result is
# set to successful only if all testsuites marked as
# required are also successful. This is useful for grouping
# statuses under a single context to be used by the branch
# protection settings or by a merge bot, rather than dealing
# with multiple (possibly changing) statuses.
required: true
# OPTIONAL
# Additional YUM repositories to inject during provisioning.
extra-repos:
- name: my-repo-name # REQUIRED key
baseurl: https://example.com/repo
- name: my-other-repo-name # REQUIRED key
metalink: https://example.com/metalink?repo=mydistro
gpgcheck: 0
# OPTIONAL
# List of packages to install during provisioning. If
# running on an Atomic Host variant, packages will be
# layered.
packages:
- make
- gcc
# OPTIONAL
# Environment variables to define for test procedure. Full
# UTF-8 values are supported.
env:
VAR1: val1
VAR2: val2
SNOWMAN: ☃
# REQUIRED (at least one of 'build' or 'tests')
# If the project follows the Build API (see
# https://github.com/cgwalters/build-api), you may specify
# the 'build' key to automatically build the code.
build: true
# You may customize the build further by providing a dict
# instead.
build:
# OPTIONAL
# Customize the configuration step.
config-opts: >
--enable-systemd
CFLAGS='-fsanitize=undefined'
# OPTIONAL
# Customize the build step.
build-opts: MYVAR=1
# OPTIONAL
# Customize the install step.
install-opts: DESTDIR=$PWD/install
# REQUIRED (at least one of 'build' or 'tests')
# Put the tasks to be executed in the 'tests' key. They are
# run from the root of the repo. If the 'build' key is also
# present, tests will run after a successful build. Full
# UTF-8 values are supported.
tests:
- make check
- make installcheck LANG=français
- ansible-playbook -i host1,$RHCI_host2_IP, playbook.yml
# OPTIONAL
# Time to allow before aborting tests. Must satisfy regex
# '[0-9]+[smh]'. If omitted, defaults to '2h', which is the
# maximum.
timeout: 30m
# OPTIONAL
# List of files/directories to upload to Amazon S3.
artifacts:
- test-suite.log
---
# It is possible to specify multiple testsuites by starting
# a second document. All the same fields are supported,
# though the 'context' key must be different.
# OPTIONAL
# Start off by inheriting all the keys from the previous
# document. You may then override keys by simply redefining
# them. At least the 'context' key must be overridden. If
# omitted, defaults to false.
inherit: true
# REQUIRED
# A distinct context must be used here.
context: 'My other testsuite'
# To unset an inherited key, simply leave off its value.
artifacts:
# As a convenience, specifying one of the 'host',
# 'container' or 'cluster' keys automatically unsets the
# other two if inherited, so that there is no need to
# explicitly unset them.
host:
distro: fedora/27/atomic
# There is no support to append to an inherited list. You
# must redefine them as needed.
packages:
- make
- gcc
- autoconf
env:
VAR1: newval1