Dan Mick [Wed, 13 Aug 2014 01:23:15 +0000 (18:23 -0700)]
build-rpms.sh: copy "*.patch" from topdir into SOURCES
This allows patches to be applied when building the RPMs; the addition
of the ceph patch to disable /etc/init.d/ceph from autostarting Ceph
daemons leads to the desire for a .patch file, conditionally applied
by the .spec. See the Ceph sources.
Ken Dreyer [Mon, 10 Mar 2014 23:33:23 +0000 (17:33 -0600)]
jenkins: optionally skip Debian package diffs
The Debian package diffs are present when we do a real release, but
they're not present during the continuous integration
"ceph-setup-nightly" Jenkins task.
Skip moving the files if they're not present.
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Ken Dreyer [Tue, 25 Feb 2014 04:20:46 +0000 (04:20 +0000)]
sign_and_index_rpm_repo: speed up createrepo indexing
Run "createrepo" with the --update and --checkts options. This allows
createrepo to skip a lot of the metadata generation. With thousands of released
RPMs on ceph.com, every bit helps.
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Ken Dreyer [Fri, 21 Feb 2014 18:13:17 +0000 (11:13 -0700)]
jenkins: show errors and fail fast during job execution
Jenkins will dynamically write the commands in its database into a
script and run it with "-x" and "-e" in order to display each step and
fail after the first step fails.
Now that our commands are stored in Git, ensure that we're doing the
same thing.
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Ken Dreyer [Thu, 16 Jan 2014 04:45:30 +0000 (21:45 -0700)]
release_tarball: select the "v" tags for cephver
By default, Jenkins' Git plugin adds its own tag to the repository. This
interferes with the versioning in release_tarball.sh
One solution would be to disable the tag in the Jenkins job. Since this
is not the default, that tag creation option would need to be manually
disabled for every job in Jenkins that runs this script. The other
option is to make the script more selective about what it considers to
be cephver. This commit implements this option.
Use a --match selector to "git describe" so that we're sure we're using
the standard "vX.X" tags.
Pipe "git describe" through "sed" instead of "cut", so that it's easier
to debug what tag was selected.
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Ken Dreyer [Tue, 14 Jan 2014 17:18:39 +0000 (10:18 -0700)]
jenkins: use in-tree clone for the ceph-build repo
Historically we have had a single system-wide clone of the ceph-build
repository on each builder, at /srv/ceph-build.
The disadvantage to this configuration is that there is no way to ensure
that each of these clones are up to date. When we make changes to the
ceph-build repository on GitHub, we have to manually pull the changes
into each builder's local clone at /srv.
Going forward, we will use the Multi-SCM plugin to Jenkins to make the
ceph-setup Jenkins job use an up-to-date clone of the ceph-build
repository. This will ensure that Jenkins is using the very latest code
from ceph-build.
The ceph-build repository will be cloned into the root of the tree.
Remove the references to /srv/ceph-build and just use the relative path,
"ceph-build".
Ken Dreyer [Tue, 14 Jan 2014 03:29:06 +0000 (20:29 -0700)]
jenkins: support autobuild key or release key
We need Jenkins to build ceph more often so we can have more testing,
but we don't want to sign these "unofficial" builds with the official
release key.
Conditionally select the release key or the autobuild key based upon the
$RELEASE environment variable. Jenkins will set this variable using a
parameter when it runs each ceph build. For formal releases, we will set
the parameter to "true".
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Gary Lowell [Wed, 29 May 2013 04:25:20 +0000 (21:25 -0700)]
sign_and_index_rpm_repo.sh: New script
This is the last script to run against the rpm repo after any
extra packages are added. It signs all the rpms in the repo,
then builds an index using creatrepo for the top level directories
such as noarch and x86_64.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Gary Lowell [Wed, 29 May 2013 04:22:22 +0000 (21:22 -0700)]
do_release.sh: Don't sign rpm packages yet.
Since we are now adding extra rpms to the repo, wait until we
are all done before signing them. Signing is done in another shell
script later in the pipeline.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Gary Lowell [Sun, 24 Mar 2013 20:01:04 +0000 (13:01 -0700)]
build: rysync debian build results into seperate directories
Avoid collisions of files with the same name, but different checksums,
by keeping the results from different build platforms seperate. This
wasn't a problem before because these files were not modified during the
build. With the addition of the all arch and source builds on the i386
platform, some files are now changed (bug #3969).
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Loic Dachary [Fri, 11 Jan 2013 10:15:14 +0000 (11:15 +0100)]
When pbuilder works for i386, include the making of the source package.
Otherwise it won't be uploaded to the reprepro repository at all and
apt-get source ceph fails.
closes #3788
http://tracker.newdream.net/issues/3788
Gary Lowell [Mon, 17 Dec 2012 05:55:29 +0000 (21:55 -0800)]
build_debs.sh: Partial fix for building arch independent packages.
We only want to build the architecture independent packages once.
The i386 platform has been picked for that, and by convention there
should only be one i386 host in the deb_hosts list. For this host
the -b option is supplied in debbuildopts which builds the binary
(No source) version of arch dependent and independent packages. For
all other hosts the pbuilder --binary-arch flag is supplied which
builds binary arch dependent packages only.
Gary Lowell [Fri, 14 Dec 2012 18:05:54 +0000 (10:05 -0800)]
build_debs.sh: Partial fix for building arch independent packages
Removed the -b option passed with --debbuildopts option to pbuilder. The -b
conflicts with the --binary-arch option when it is used causing pbuilder to
build arch indpendent packages when it shouldn't.