Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Overview

Platforms

We build and test on the following platforms:

  • Debian 6.0.3 amd64
  • Ubuntu Server 10.04.3 amd64
  • Ubuntu Server 10.04.3 i386
  • Red Hat Enterprise Linux 6.2 amd64
  • CentOS 6.2 amd64
  • CentOS 6.2 i386
  • Scientific Linux 6.1 amd64
  • OpenSUSE 12.1 amd64
  • OpenSUSE 12.1 i386
  • Solaris 11 11/11
  • FreeBSD 9 amd64
  • FreeBSD 9 i386
  • OpenBSD 5.0 amd64
  • NetBSD 5.1 amd64
  • SUSE Linux Enterprise Server SP2 amd64

Read more about installation, setup and maintenance under Platforms & HSMs.

Buildfarm

SURFnet has provided us with virtual machines in a VMware Infrastructure site that are used for testing.

Primary administrator for the VMs is Jerry Lundström.

Contact at SURFnet is Roland M. van Rijswijk.

Jenkins

Jenkins is used for distributed building and testing on the different platforms.

Jenkins jobs are grouped per branch in tabs for easy access.

Jenkins master server

The master jenkins server is hosted by John Dickinson at Sinodun, this provides the web interface and management of all the jobs.

You can access the Jenkins web site here https://jenkins.opendnssec.org/.

User Accounts

The test dashboard and results are available for anyone to view. However, in order to perform more advanced tasks, like configuring existing or new jobs users will need an account. Contact John Dickinson (jad at sinodun.com on email or jabber) to get an account set up.

Build schedule

Building and testing is split into a couple of different categories.

Smoke runs

Smoke runs are meant to be executed on source code change and run as often as possible so the build and test stage need to be very fast in execution time.

SVN is polled for change 7 days a week between 06:00 and 01:00 GMT every 10 minutes, different groups (branches) of jobs are spaced apart with 1 minute and may overlap. The jobs executed are build-<tag> and test-<tag>.

Only the change is checked out and only the change is built.

Daily runs

Daily runs, as they are called, runs daily and have a time slot of a few hours. They can include more heavy tests that can take longer to run.

Daily runs are executed Tuesday to Sunday at 02:00 GMT, different groups (branches) are not spaced apart and the jobs executed are test-daily-<tag>.

Weekly runs

Weekly runs runs weekly and is a combination of Smoke and Daily runs that is lead by a clean up job so that the Smoke and Daily runs on newly checked out code and all jobs will be rebuilt from scratch.

Weekly runs are executed on Monday at 02:00 GMT, different groups (branches) are not spaced apart and the jobs executed are test-weekly-<tag>.

Framework

The framework is a bundle of shell script (bash) functions that sets up an environment per branch for building and testing.

The framework (lib.sh) is included in each branch and will have to be maintained between branches.

Read more about the framework under Framework.

Build

We build ldns, SoftHSM and OpenDNSSEC, for all other libraries that the software depend on we use the distribution provided libraries to make sure the software works with the distribution.

Ldns is not part of the OpenDNSSEC project but it is vital to OpenDNSSEC so we don't use the distribution provided libraries for that.

We build trunk and each branch per Release Process. You can find examples and templates under Build jobs and information about the framework functions under Framework.

All builds should be done without root access.

Test

If the current build object supports 'make check' / 'make test' we run that in the build process before installing the object other tests are located here in the test phase and these tests are mostly System Tests and/or System Integration Tests.

You can find examples and templates under Test and information about the framework functions under Framework.

All test should be done without root access.

Files

All files related to building and testing are kept inside each branch in the directory testing.

All file names must be lower case, build scripts start with build-what.sh, tests scripts start with test-what.sh. Examples below:

Ldns

OpenDNSSEC/testing/build-ldns.sh

SoftHSM

softHSM/testing/build-softhsm.sh
softHSM/testing/test-softhsm.sh

OpenDNSSEC

OpenDNSSEC/testing/build-opendnssec.sh
OpenDNSSEC/testing/test-opendnssec.sh

  • No labels