File: auto-build.conf

package info (click to toggle)
libconfig-record-perl 1.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 212 kB
  • ctags: 14
  • sloc: perl: 516; sh: 34; makefile: 2
file content (366 lines) | stat: -rw-r--r-- 11,276 bytes parent folder | download | duplicates (3)
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
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
#
# Example configuration file showing many constructs.
# Taken from the Test::AutoBuild distribution
#
# Test-AutoBuild main configuration file.
#
# Short documentation can be found inline, and for further
# information consult the manual page 'man 5 auto-build.conf'
#

# Path to the build engine definition. This determines the
# sequence of stages executed by the build engine, package
# types to publish, and other miscellaneous aspects of the
# build engine's runtime environment. 
# It will typically suffice to leave this on the default
# setting
engine = /etc/auto-build.d/engine/host-build.conf
# If you want to use SELinux MAC, then uncomment this
# and run with '/usr/bin/auto-build-secure' instead
#engine = /etc/auto-build.d/engine/host-build-secure.conf

# The location of the directory containing the template files
# for the HTML status pages, and email alert messages
templateDir = /etc/auto-build.d/templates

# The directory under which the build engine will run. This
# should match whatever path was provided when running the 
# 'auto-build-make-root' script. /var/lib/builder is the default
# directory created by the RPM perl-Test-AutoBuild-account
buildRoot = /var/lib/builder

# A name for the build instance. This is used in the HTML
# status pages, email alert subject, and RSS feeds
label = Continous Automatic Builder

# Name and email address of the build administrator
adminEmail = admin@example.com
adminName = Build Administrator

# Name and email address of the development team writing the
# software being built. Typically point it to the main developer
# mailing list
groupEmail = dev@example.com
groupName = Build Developers

# If the build host has multiple names, then specify which
# one is used for the virtual host publishing the HTML status
# pages. This will be used to construct links in the RSS feed
# and email alert messages. If not set, defaults to the primary
# hostname of the machine
#hostname = example.com

# The prefix under which the HTML status pages are located.
# If using /etc/auto-build.d/httpd/aliased.conf, then
#httpPrefix  = /builder
# Else with /etc/auto-build.d/httpd/user.conf, then
#httpPrefix  = /~builder
# Finally with /etc/auto-build.d/httpd/vhost.conf, then
httpPrefix  =

# Where to save a log of the build engine progress (this
# data is also sent to STDERR, but when run from cron this
# typically ends up in /dev/null)
engineLogFile = /var/lib/builder/autobuild.log

# The method used for acquiring a lock file to prevent multiple
# build instances running at the same time against the same
# buildRoot directory. 
#  * fcntl - Best option, but only implemented for Linux, SunOS
#            and FreeBSD
#  * flock - Portable to any UNIX, but does not completely protect
#            if buildRoot is on an NFS volume
#  * file  - Simple file creation/deletion test. If the build engine
#            or host machine crashes, it will be neccessary to manually
#            delete the lock file ($buildRoot/.build.mutex)
lockMethod = fcntl

# Define what high level features you want enabled
features = {
  # If the cache is enabled, then modules will only be built if their
  # sources have changed since the previous build cycle. This provides 
  # much faster cycle times if there are many modules in the build
  # config, only a few of which ever change
  cache = 1

  # Whether to try and checkout the latest sources from version control
  # If checkout is disabled, the build will run with whatever sources
  # were checked out on the previous cycle.
  checkout = 1

  # Whether to run the 'createrepo' tool against the RPMs on the HTTP
  # distribution site
  createrepo_index = 1

  # Whether to run the 'yum-arch' tool against the RPMs on the HTTP
  # distribution site
  yum_index = 0

  # Whether to generate an APT index of RPMs / Debian packages on the
  # HTTP distribution site
  apt_index = 0

  # Whether to send email alerts at the end of cycles
  email_alerts = 1
}

# Describe 'interesting' metadata about the build platform
platform = {
  # Taken from /etc/issue, if not set
  #label = RHEL-4, Update 2

  # Taken from uname(2) 'sysname' if not set
  #operating_system = GNU/Linux

  # Taken from uname(2) 'machine' if not set
  # architecture = i386

  # Arbitrary administrator specific options...
  #options = {
  #  compiler.cc = GCC 4.0.2
  #  linker = GNU ld 2.15.94.0.2.2
  #}
}

# Criteria for sending email alerts
alert = {
  # If the scope is set to
  #  * builder - one email is sent with info on all modules
  #  * module  - one email is sent for each module
  scope = builder

  # Conditions for sending alerts
  #  * always     - send regardless of status
  #  * fail       - send whenever the status is 'failed'
  #  * first-fail - send on the first failure only
  trigger = first-fail

  # If scope is set to 'builder' then
  #
  #  * admin - use the global address defined for $adminEmail
  #  * group - use the global address defined for $groupEmail 
  #
  # If scope is set to 'module' then
  #
  #  * admin - use the module specific address defined for $adminEmail
  #  * group - use the module specific address defined for $groupEmail
  #
  # Or just set an explicit email address (separate multiple address with ,)
  to = group

  # What to set the 'From' address to
  #from = builder@example.com

  # The SMTP server to relay the mail via, defaults to localhost
  #smtpServer = mail.example.com
}

# Set the maximum disk space allowed for use by the cache
maxCacheSize = 100M

# Set the maximum number of days to keep a cache around before
# considering it expired
maxCacheAge = 7d


# Module groups (for web status)
groups = {
  software = {
      label = Software
  }
  autobuild = {
      label = Test-AutoBuild
  }
#  docs = {
#      label = Documentation
#  }
}

# Global environment variables which will be set whenever
# any command is run by the build engine
env = {
  USER = builder
}

# Define the source control repositories from which modules
# will be checked out. There are 7 supported repository types
# at this time. Depending on the 'type' parameter, various
# 'env' or 'option' parameters may be required
#
#  cvs  - CVS. Specify the CVSROOT environment variable, and 
#         optionally a CVS_RSH variable
#
#           env = {
#             CVSROOT = :pserver:anonymous@cvs.gna.org:/cvs/testautobuild
#           }
#
#  p4   - Perforce. Specify the P4CONFIG environment variable 
#         for a client view. The viewspec will be filled in 
#         automatically
#
#           env = {
#             P4CONFIG = /var/lib/builder/.p4config
#           }
#
#  tla  - GNU Arch. Specify the 'archive-name' and 'archive-uri'
#         options for the remote repository. eg, 
#
#           options = {
#             archive-name = lord@emf.net--2004
#             archive-uri = http://arch.quackerhead.com/~lord/archives/lord@emf.net--2004
#           }
#
#  hg   - Mercurial. Specify the 'base-url' option to refer to
#         the base URL under which the repositories are located
#
#           options = {
#             base-url = http://www.selenic.com/
#           }
#
#  git  - Git. Specify the 'base-url' option to refer to
#         the base URL under which the repositories are located
#
#           options = {
#             base-url = git://anongit.freedesktop.org/git/
#           }
#
#  darcs - Darcs. Specify the 'base-url' option to refer to
#          the base URL under which the repositories are located
#
#           options = {
#             base-url = http://www.darcs.net/repos/
#           }
#
#  bzr   - Bazaar. Specify the 'base-url' option to refer to
#          the base URL under which the repositories are located
#
#           options = {
#             base-url = http://www.darcs.net/repos/
#           }
#
#  svn  - Subversion. Specify the 'url' option to refer to the base
#         URL for the repository
#
#           options = {
#             url = http://aplaws.redhat.com/svn/aplaws/
#           }
#
#  svk  - SVK. No special options. The modules contain the full URL
#
#  disk - Local disk. Specify the 'directory' otion to refer to the 
#         base directory containing the files
#
#           options = {
#             directory = /var/lib/builder/local-files
#           }
#
repositories = {
  gna-cvs = {
    label = GNA Anonymous CVS Server
    type = cvs
    env = {
      CVSROOT = :pserver:anonymous@cvs.gna.org:/cvs/testautobuild
    }
  }
}

# Now, the list of modules to checkout from the repositories
# defined above.
modules = {
  autobuild-dev = {
    # This is used in email alerts, HTML status pages & RSS feeds
    # to refer to the module
    label = Test AutoBuild Unstable

    # If different from global settings. These will be used if
    # the email alert scope is set to 'module'
    #
    #admin-email = autobuild-admin@example.com
    #admin-name = Module Administrator
    #group-email = autobuild-dev@example.com
    #group-name = Module Developers

    # The source code to check out
    source = {
      # Name of the repository defined above
      repository = gna-cvs

      # The path within the repository to be checked out
      path = testautobuild
    }

    # Any module specific environment variables to be set when
    # executing the module control file
    env = {
      HTMLURLPREFIX = /~builder/artifacts/autobuild-dev/apidocs
    }
    # List of groups (defined earlier) which this module is a
    # member of
    groups = (
      autobuild
      software
    )
    # Arbitrary list of hyperlinks to associate with this module
    # in the HTML status pages. Typically link to the module
    # developer web pages & source code browser
    links = (
      {
        href = http://www.autobuild.org/
        label = Homepage
      }
      {
        href = http://cvs.gna.org/viewcvs/testautobuild/testautobuild/
        label = Browse CVS Repository
      }
    )
    # List of artifacts generated during build which should be 
    # published on the HTML pages. For example, code cover reports
    # API documentation. The 'src' parameter is relative to the
    # module's root source code directory. The 'dst' parameter is
    # the URL prefix under which to save the artifact. The optional
    # 'path' parameter is needed if there is no index file in the
    # directory copied.
    artifacts = (
      {
        src = README
        dst = README
        label = Readme
      }
      {
        src = blib/coverage/*
        dst = coverage/
        label = Code Test & POD coverage Reports
      }
      {
        src = blib/html/*
        dst = apidocs/
        path = apidocs/Test/AutoBuild.html
        label = Module API documentation
      }
    )
  }
}

# Optionally, the packages (RPMs, etc) generated during the
# build can be built into an ISO image for distribution
isos = {
  autobuild-unstable = {
    # File name for the ISO image
    name = autobuild-unstable.iso
    # Label to use in link for HTML status pages
    label = Test-AutoBuild Unstable
    # The package types to include in the ISO, can be
    # one or more of 'rpm', 'zip', 'debian'
    packageTypes = (
      rpm
      zip
    )
    # List of modules whose packages should be included
    # in the ISO
    modules = (
      autobuild-dev
    )
  }
}

# That's all folks!