--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Clone 'clone';
+use YAML::Syck;
+
+my $pkg = LoadFile("packages.yaml");
+#use Data::Dumper;
+#print Dumper($pkg);
+#__END__
+my $output = LoadFile("head.yaml");
+
+my @dists = @{$pkg->{distributions}};
+my @archs = @{$pkg->{architectures}};
+
+# generate job groups
+
+foreach my $dist (@dists) {
+ #- job-group:
+ # name: source-sid
+ # dist: sid
+ # jobs:
+ # - '{name}-source-{dist}'
+ push @$output, {
+ 'job-group' => {
+ name => "source-$dist",
+ dist => $dist,
+ jobs => ["{name}-source-{dist}"],
+ }
+ };
+
+ #- job-group:
+ # name: binaries-sid-amd64
+ # dist: sid
+ # arch: amd64
+ # jobs:
+ # - '{name}-binaries-{dist}-{arch}'
+ foreach my $arch (@archs) {
+ push @$output, {
+ 'job-group' => {
+ name => "binaries-$dist-$arch",
+ dist => $dist,
+ arch => $arch,
+ jobs => ["{name}-binaries-{dist}-{arch}"],
+ }
+ };
+ }
+}
+
+# extract dput_job_template
+my $dput_job_template = $output->[1]->{yamltemplates}->{dput_job_template} || die "could not find dput_job_template in head.yaml";
+my $dput_copyartifact = $dput_job_template->{builders}->[1];
+die "could not find dput_copyartifact in head.yaml" unless $dput_copyartifact->{copyartifact};
+my $build_job_template = $output->[1]->{yamltemplates}->{build_job_template} || die "could not find build_job_template in head.yaml";
+
+foreach my $package (sort keys %{$pkg->{packages}}) {
+ my $p = $pkg->{packages}->{$package}; # contents of package hash
+
+ # write project to generate source/binaries jobs
+ #- project:
+ # name: mimeo
+ # git-url: https://anonscm.debian.org/git/pkg-postgresql/mimeo.git
+ # git-branch: debian
+ # jobs:
+ # - source-sid
+ # - source-jessie
+ # - binaries-sid-amd64
+ # - binaries-sid-i386
+ # - binaries-jessie-amd64
+ # - binaries-jessie-i386
+
+ my $project = { name => $package };
+ if ($p->{'git-url'}) {
+ $project->{'git-url'} = $p->{'git-url'};
+ $project->{'git-branch'} = $p->{'git-branch'} || 'master';
+ }
+ foreach my $dist (@dists) {
+ push @{$project->{jobs}}, "source-$dist";
+ foreach my $arch (@archs) {
+ push @{$project->{jobs}}, "binaries-$dist-$arch";
+ }
+ }
+ push @$output, { 'project' => $project };
+
+ # write dput job
+ #- job:
+ # <<: *dput_job_template
+ # name: mimeo-dput
+ # builders:
+ # - shell: 'rm -rf *'
+ # - copyartifact:
+ # <<: *dput_copyartifact
+ # project: 'mimeo-binaries-sid-amd64'
+ # - copyartifact:
+ # <<: *dput_copyartifact
+ # project: 'mimeo-binaries-sid-i386'
+ # - shell: 'dput-pgdg $queue'
+ my $dput_job = clone $dput_job_template;
+ $dput_job->{name} = "$package-dput";
+ $dput_job->{builders} = [ { shell => 'rm -rf *' } ];
+ foreach my $dist (@dists) {
+ foreach my $arch (@archs) {
+ my $copy = clone $dput_copyartifact;
+ $copy->{copyartifact}->{project} = "$package-binaries-$dist-$arch";
+ push @{$dput_job->{builders}}, $copy;
+ }
+ }
+ push @{$dput_job->{builders}}, { shell => 'dput-pgdg $queue' };
+ push @$output, { 'job' => $dput_job };
+
+ # name: 'foobar-build'
+ # project-type: flow
+ # parameters:
+ # - choice: *queue_choice
+ # - string:
+ # <<: *git_branch
+ # default: 'debian'
+ # - string: *revision_string
+ # dsl: |
+ # build("foobar-source-sid", branch: params["branch"], revision: params["revision"])
+ # parallel (
+ # { build("foobar-source-jessie", branch: params["branch"], revision: params["revision"]) },
+ # )
+ # build("foobar-binaries-sid-amd64")
+ # parallel (
+ # { build("foobar-binaries-sid-i386") },
+ # { build("foobar-binaries-jessie-amd64") },
+ # { build("foobar-binaries-jessie-i386") },
+ # )
+ # build("foobar-dput", queue: params["queue"])
+ my $build_job = clone $build_job_template;
+ $build_job->{name} = "$package-build";
+
+ my $dsl = "build(\"$package-source-sid\", branch: params[\"branch\"], revision: params[\"revision\"])\n";
+
+ $dsl .= "parallel (\n";
+ foreach my $dist (@dists) {
+ next if ($dist eq 'sid');
+ $dsl .= " { build(\"$package-source-$dist\", branch: params[\"branch\"], revision: params[\"revision\"]) },\n";
+ }
+ $dsl .= ")\n";
+
+ $dsl .= "build(\"$package-binaries-sid-amd64\")\n";
+
+ $dsl .= "parallel (\n";
+ foreach my $dist (@dists) {
+ foreach my $arch (@archs) {
+ next if ("$dist-$arch" eq 'sid-amd64');
+ $dsl .= " { build(\"$package-binaries-$dist-$arch\") },\n";
+ }
+ }
+ $dsl .= ")\n";
+
+ $dsl .= "build(\"$package-dput\", queue: params[\"queue\"])\n";
+
+ $build_job->{dsl} = $dsl;
+ push @$output, { 'job' => $build_job };
+
+}
+
+print Dump($output);
--- /dev/null
+- defaults:
+ name: global
+ description: 'Do not edit this job through the web interface, it is generated via jenkins-job-builder!'
+ logrotate:
+ daysToKeep: -1
+ numToKeep: 2
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+ wrappers:
+ - timestamps
+
+- yamltemplates:
+ name: yamltemplates
+
+ queue_choice: &queue_choice
+ name: queue
+ choices:
+ - incoming
+ - private
+ - discard
+ description: 'Incoming queue to use: incoming uploads to reprepro, private stages the upload in a directory, discard throws the upload away.'
+
+ ircbot_only_configs: &only_configs
+ strategy: any-failure
+ message-type: summary
+ matrix-notifier: only-configurations
+
+ add_version_tag: &add_version_tag |
+ import java.util.regex.Matcher;
+ for (a in manager.build.getArtifacts()) {{
+ m = (a =~ /.*_(.*)\.dsc/);
+ if (m.matches()) {{
+ manager.addShortText(m[0][1]);
+ break;
+ }}
+ }}
+
+ dput_job_template: &dput_job_template
+ name: 'foobar-dput'
+ #description: 'Push packages to the repository.<br />Do not edit this job through the web interface, it is generated via jenkins-job-builder!'
+ logrotate:
+ numToKeep: 50
+ parameters:
+ - choice: *queue_choice
+ builders:
+ - shell: 'rm -rf *'
+ - copyartifact: &dput_copyartifact
+ project: 'foobar-binaries-sid-amd64'
+ filter: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes'
+ flatten: true
+ which-build: upstream-build
+ fallback-to-last-successful: true
+ - shell: 'dput-pgdg $queue'
+ publishers:
+ - ircbot:
+ matrix-notifier: all
+ message-type: summary-params
+ - groovy-postbuild: 'manager.addShortText("${manager.build.environment.queue}")'
+
+ build_job_template: &build_job_template
+ name: 'foobar-build'
+ project-type: flow
+ parameters:
+ - choice: *queue_choice
+ - string: &git_branch
+ name: branch
+ default: 'debian'
+ description: Git branch, tag, or commit to build
+ - string: &revision_string
+ name: revision
+ default: ''
+ description: Revision number to use on generated source package (number in .pgdg+N suffix)
+ dsl: |
+ build("foobar-source-sid", branch: params["branch"], revision: params["revision"])
+ parallel (
+ { build("foobar-source-jessie", branch: params["branch"], revision: params["revision"]) },
+ )
+ build("foobar-binaries-sid-amd64")
+ parallel (
+ { build("foobar-binaries-sid-i386") },
+ { build("foobar-binaries-jessie-amd64") },
+ { build("foobar-binaries-jessie-i386") },
+ )
+ build("foobar-dput", queue: params["queue"])
+
+# source
+
+- job-template:
+ name: '{name}-source-{dist}'
+ #description: 'Build Debian source package of {name} from "apt-get source".<br />Do not edit this job through the web interface, it is generated via jenkins-job-builder!'
+ parameters:
+ - string:
+ <<: *git_branch
+ default: '{git-branch}'
+ - string: *revision_string
+ scm:
+ - git:
+ url: '{git-url}'
+ branches:
+ - '$branch'
+ basedir: source
+ wipe-workspace: false
+ recursive-submodules: true
+ builders:
+ - shell: 'distribution={dist} generate-pgdg-source'
+ publishers:
+ - archive:
+ artifacts: 'result/*'
+ latest-only: true
+ - ircbot:
+ matrix-notifier: only-parent
+ - groovy-postbuild: *add_version_tag
+
+# generated by genyaml:
+#- job-group:
+# name: source-sid
+# dist: sid
+# jobs:
+# - '{name}-source-{dist}'
+
+# binaries
+
+- job-template: &binaries_template
+ name: '{name}-binaries-{dist}-{arch}'
+ #description: 'Build Debian binary package of {name}.<br />Do not edit this job through the web interface, it is generated via jenkins-job-builder!'
+ builders:
+ - shell: 'rm -rf *'
+ - copyartifact: ©source
+ project: '{name}-source-{dist}'
+ filter: 'result/*'
+ flatten: true
+ which-build: upstream-build
+ fallback-to-last-successful: true
+ - shell: 'distribution={dist} architecture={arch} sbuild-package'
+ publishers:
+ - archive: &binaries_archive
+ artifacts: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes'
+ latest-only: true
+ - junit:
+ results: autopkgtest.xml
+ - ircbot: *only_configs
+ - groovy-postbuild: *add_version_tag
+ - workspace-cleanup
+
+# generated by genyaml:
+#- job-group:
+# name: binaries-sid-amd64
+# dist: sid
+# arch: amd64
+# jobs:
+# - '{name}-binaries-{dist}-{arch}'
+
+# actual job definitions
+
+#- project:
+# name: mimeo
+# git-url: https://anonscm.debian.org/git/pkg-postgresql/mimeo.git
+# git-branch: debian
+# jobs:
+# - source-sid
+# - source-jessie
+# - binaries-sid-amd64
+# - binaries-sid-i386
+# - binaries-jessie-amd64
+# - binaries-jessie-i386
+#
+#- job:
+# <<: *dput_job_template
+# name: mimeo-dput
+# builders:
+# - shell: 'rm -rf *'
+# - copyartifact:
+# <<: *dput_copyartifact
+# project: 'mimeo-binaries-sid-amd64'
+# - copyartifact:
+# <<: *dput_copyartifact
+# project: 'mimeo-binaries-sid-i386'
+# - copyartifact:
+# <<: *dput_copyartifact
+# project: 'mimeo-binaries-jessie-amd64'
+# - copyartifact:
+# <<: *dput_copyartifact
+# project: 'mimeo-binaries-jessie-i386'
+# - shell: 'dput-pgdg $queue'
+#
+#- job:
+# name: 'mimeo-build'
+# project-type: flow
+# parameters:
+# - choice: *queue_choice
+# - string:
+# <<: *git_branch
+# default: 'debian'
+# - string: *revision_string
+# dsl: |
+# build("mimeo-source-sid", branch: params["branch"], revision: params["revision"])
+# parallel (
+# { build("mimeo-source-jessie", branch: params["branch"], revision: params["revision"]) },
+# )
+# build("mimeo-binaries-sid-amd64")
+# parallel (
+# { build("mimeo-binaries-sid-i386") },
+# { build("mimeo-binaries-jessie-amd64") },
+# { build("mimeo-binaries-jessie-i386") },
+# )
+# build("mimeo-dput", queue: params["queue"])
+
+# vim:et:sw=4:
--- /dev/null
+architectures:
+ - amd64
+ - i386
+
+distributions:
+ - sid
+ - jessie
+ - wheezy
+ - squeeze
+ - wily
+ - trusty
+ - precise
+
+## simple jobs
+#
+#- job:
+# name: apt.postgresql.org
+# description: 'Update configuration on build and repository hosts.<br />Do not edit this job through the web interface, it is generated via jenkins-job-builder!'
+# scm:
+# - git:
+# url: git://git.postgresql.org/git/pgapt.git
+# branches:
+# - master
+# wipe-workspace: false
+# builders:
+# - shell: 'cd jenkins && make test && make update'
+# publishers:
+# - ircbot:
+# matrix-notifier: all
+#
+#- job:
+# name: 'sbuild-update'
+# description: 'Update sbuild chroots'
+# project-type: matrix
+# execution-strategy:
+# sequential: true
+# touchstone:
+# expr: '(distribution=="sid") && (architecture=="amd64")'
+# axes:
+# - axis: *arch_axis
+# - axis: *dist_axis
+# triggers:
+# - timed: "H */6 * * *"
+# builders:
+# - shell: 'sbuild-update.sh'
+# publishers:
+# - ircbot: *only_configs
+
+#- job:
+# name: upgrade-plperl
+# description: 'Test plperl upgrades.<br />Do not edit this job through the web interface, it is generated via jenkins-job-builder!'
+# project-type: matrix
+# execution-strategy:
+# touchstone:
+# expr: '(distribution=="wheezy") && (architecture=="amd64")'
+# axes:
+# - axis: *arch_axis
+# - axis:
+# type: user-defined
+# name: distribution
+# values: [wheezy, squeeze]
+# builders:
+# - shell: 'sudo cowbuilder --execute $(which upgrade-plperl) --basepath /home/pbuilder/base-$distribution-$architecture.cow'
+
+#- job:
+# name: gitcache-postgresql
+# description: Reference repository postgresql source jobs
+# workspace: '$HOME/gitcache.buexcl/postgresql'
+# scm:
+# - git:
+# url: git://git.postgresql.org/git/postgresql.git
+# branches:
+# - master
+# wipe-workspace: false
+# triggers:
+# - pollscm: "H */6 * * *"
+
+packages:
+ apgdiff:
+ git-url: https://alioth.debian.org/anonscm/git/pkg-postgresql/apgdiff.git
+
+ barman:
+ git-url: git://git.debian.org/collab-maint/barman.git
+
+ check-postgres:
+ git-url: git://anonscm.debian.org/pkg-postgresql/check-postgres.git
+
+ #gdal:
+ # # sid and trusty are current enough
+ # dist-filter: '(distribution=="wheezy") || (distribution=="precise")'
+
+ #geos:
+ # # sid and trusty are current enough
+ # dist-filter: '(distribution=="wheezy") || (distribution=="precise")'
+
+ ip4r:
+ git-url: git://anonscm.debian.org/pkg-postgresql/ip4r.git
+ devel: true
+
+ #libdbd-pg-perl:
+ # apt-suite: unstable
+
+ libpqtypes:
+ git-url: git://anonscm.debian.org/pkg-postgresql/libpqtypes.git
+ # skip dists without dpkg-buildflags
+ dist-filter: '(distribution!="squeeze")'
+
+ mimeo:
+ git-url: https://anonscm.debian.org/git/pkg-postgresql/mimeo.git
+ git-branch: debian
+ devel: true
+
+ newpid:
+ git-url: https://github.com/ChristophBerg/newpid.git
+
+ #ora2pg:
+ # apt-suite: unstable
+
+ orafce:
+ git-url: git://anonscm.debian.org/pkg-postgresql/orafce.git
+ devel: true
+
+ pgadmin3:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pgadmin3.git
+ # skip dists without /usr/share/dpkg/buildflags.mk
+ dist-filter: '(distribution!="squeeze")'
+
+ pgagent:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pgagent.git
+
+ #pgbadger:
+ # apt-suite: unstable
+
+ pgbouncer:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pgbouncer.git
+
+ pgdg-buildenv:
+ git-url: git://git.postgresql.org/git/pgapt.git
+
+ pgespresso:
+ git-url: git://git.debian.org/collab-maint/pgespresso.git
+
+ pgextwlist:
+ git-url: https://github.com/dimitri/pgextwlist.git
+ devel: true
+
+ pgfincore:
+ git-url: git://git.postgresql.org/git/pgfincore.git
+ devel: true
+
+ pgmemcache:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pgmemcache.git
+ devel: true
+
+ pg-reorg:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pg-reorg.git
+ devel: true
+
+ pgpool2:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pgpool2.git
+ devel: true
+
+ pgrouting:
+ git-url: git://anonscm.debian.org/pkg-grass/pgrouting.git
+ # needs libcgal-dev (in non-free on squeeze, in multiverse on precise, let's not care)
+ dist-filter: '(distribution!="precise") && (distribution!="squeeze")'
+
+ pgsphere:
+ git-url: https://alioth.debian.org/anonscm/git/debian-science/packages/pgsphere.git
+
+ pgstatplans:
+ git-url: https://github.com/2ndQuadrant/pg_stat_plans.git
+
+ pgtap:
+ git-url: git://anonscm.debian.org/pkg-postgresql/pgtap.git
+ dist-filter: '(distribution!="squeeze")'
+
+ pgtop:
+ git-url: git://anonscm.debian.org/collab-maint/pgtop.git
+ # needs buildflags.mk
+ dist-filter: '(distribution!="squeeze")'
+
+ pgxnclient:
+ git-url: git://git.debian.org/pkg-postgresql/pgxnclient.git
+ dist-filter: '(distribution!="squeeze")'
+
+ phppgadmin:
+ git-url: git://anonscm.debian.org/pkg-postgresql/phppgadmin.git
+
+ plr:
+ git-url: git://anonscm.debian.org/pkg-postgresql/plr.git
+ devel: true
+
+ plv8:
+ git-url: git://anonscm.debian.org/pkg-postgresql/plv8.git
+ git-branch: debian
+ dist-filter: '(distribution!="squeeze")'
+ devel: true
+
+ postgis:
+ git-url: git://git.debian.org/git/pkg-grass/postgis.git
+ dist-filter: '(distribution!="squeeze")'
+ devel: true
+
+ postgresql-8.4:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 8.4
+ testsuite: external
+
+ postgresql-9.0:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 9.0-pgdg
+ testsuite: external
+
+ postgresql-9.1:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 9.1
+ testsuite: external
+
+ postgresql-9.2:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 9.2
+ testsuite: external
+
+ postgresql-9.3:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 9.3
+ testsuite: external
+
+ postgresql-9.4:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 9.4
+ testsuite: external
+
+ postgresql-9.5:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql.git
+ git-branch: 9.5
+ testsuite: external
+
+# the PostgreSQL devel versions:
+#- project:
+# name: postgresql-9.4-devel
+# source-name: postgresql-9.4
+# git-url: git://git.postgresql.org/git/postgresql.git
+# git-branch: origin/REL9_4_STABLE
+# merge-branch: 9.4
+# dist-filter: 'distribution=="sid"'
+# jobs:
+# - '{source-name}-source-git-head'
+# - '{source-name}-binaries-sid-amd64'
+# - '{source-name}-testsuite-sid-amd64'
+# next-job: postgresql-9.4-testsuite-sid-amd64
+# noadt: 'ADT=skip '
+
+ postgresql-9.6:
+ git-url: git://git.postgresql.org/git/postgresql.git
+ git-branch: origin/master
+ merge-branch: 9.6
+ distributions: [sid]
+ architectures: [amd64]
+ testsuite: external
+
+ postgresql-common:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-common.git
+
+ postgresql-debversion:
+ git-url: git://git.debian.org/git/buildd-tools/postgresql-debversion
+ git-branch: debian
+ devel: true
+
+ postgresql-filedump:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-filedump.git
+ # uses /usr/share/dpkg/buildflags.mk
+ dist-filter: '(distribution!="squeeze")'
+
+ postgresql-multicorn:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-multicorn.git
+ # needs dh-python (squeeze, precise)
+ # python foo (wheezy)
+ dist-filter: '(distribution!="wheezy") && (distribution!="squeeze") && (distribution!="precise")'
+
+ postgresql-mysql-fdw:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-mysql-fdw.git
+
+ postgresql-pgmp:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-pgmp.git
+ dist-filter: '(distribution!="squeeze")'
+ devel: true
+
+ postgresql-pljava:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-pljava.git
+ devel: true
+
+ postgresql-pllua:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-pllua.git
+ devel: true
+
+ postgresql-plproxy:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-plproxy.git
+ devel: true
+
+ postgresql-plsh:
+ git-url: git://anonscm.debian.org/pkg-postgresql/postgresql-plsh.git
+ devel: true
+
+ powa-archivist:
+ git-url: https://github.com/credativ/powa-archivist.git
+ git-branch: debian
+ devel: true
+
+ prefix:
+ git-url: git://github.com/dimitri/prefix.git
+ devel: true
+
+ preprepare:
+ git-url: git://github.com/dimitri/preprepare.git
+ devel: true
+
+ psqlodbc:
+ git-url: git://anonscm.debian.org/pkg-postgresql/psqlodbc.git
+ # doesn't compile on squeeze because of multi-arch (needs a newer cdbs)
+ dist-filter: '(distribution!="squeeze")'
+
+ python-argcomplete:
+ git-url: git://anonscm.debian.org/collab-maint/python-argcomplete.git
+
+ python-argh:
+ git-url: git://git.debian.org/collab-maint/python-argh.git
+
+ #python-azure:
+ # bzr-branch: lp:~stub/ubuntu/trusty/python-azure/trunk
+ # # needs dh-python
+ # dist-filter: '(distribution!="squeeze") && (distribution!="precise")'
+
+ q3c:
+ git-url: https://alioth.debian.org/anonscm/git/debian-science/packages/q3c.git
+
+ repmgr:
+ git-url: git://git.debian.org/pkg-postgresql/repmgr.git
+
+ repmgr2:
+ git-url: git://git.debian.org/pkg-postgresql/repmgr2.git
+
+ skytools:
+ git-url: git://anonscm.debian.org/pkg-postgresql/skytools.git
+
+ skytools3:
+ git-url: git://anonscm.debian.org/pkg-postgresql/skytools3.git
+ git-branch: debian
+
+ slony1-2:
+ git-url: git://anonscm.debian.org/pkg-postgresql/slony1-2.git
+
+ #wal-e:
+ # bzr-branch: lp:~stub/ubuntu/trusty/wal-e/trunk
+ # # needs python-swiftclient
+ # dist-filter: '(distribution!="squeeze") && (distribution!="wheezy") && (distribution!="precise")'
+
+#- project:
+# name: upgrade-8.4-9.4
+# oldversion: 8.4
+# newversion: 9.4
+# jobs:
+# - upgrade-job
+#
+#- project:
+# name: upgrade-9.1-9.2
+# oldversion: 9.1
+# newversion: 9.2
+# jobs:
+# - upgrade-job
+#
+#- project:
+# name: upgrade-9.1-9.3
+# oldversion: 9.1
+# newversion: 9.3
+# jobs:
+# - upgrade-job
+#
+#- project:
+# name: upgrade-9.2-9.3
+# oldversion: 9.2
+# newversion: 9.3
+# jobs:
+# - upgrade-job
+#
+#- project:
+# name: upgrade-9.3-9.4
+# oldversion: 9.3
+# newversion: 9.4
+# jobs:
+# - upgrade-job
+#
+#- project:
+# name: upgrade-9.4-9.5
+# oldversion: 9.4
+# newversion: 9.5
+# jobs:
+# - upgrade-{oldversion}-{newversion}-sid-amd64
+#
+#- project:
+# name: upgrade-9.4-9.6
+# oldversion: 9.4
+# newversion: 9.6
+# jobs:
+# - upgrade-{oldversion}-{newversion}-sid-amd64
+
+### pgloader and dependencies
+# - pgloader:
+# #git-url: https://github.com/dimitri/pgloader.git
+# apt-suite: unstable
+# # squeeze doesn't have ruby-ronn
+# dist-filter: 'distribution!="squeeze"'
+#
+# - sbcl:
+# apt-suite: jessie
+# # upgrade sbcl to 1.2 on the older dists
+# dist-filter: '(distribution=="squeeze") || (distribution=="wheezy") || (distribution=="precise") || (distribution=="trusty") || (distribution=="utopic")'
+#
+# - bordeaux-threads: &aptpkg
+# apt-suite: 'unstable'
+# jobs: [apt-packages]
+#- project: { <<: *aptpkg, name: buildapp }
+#- project: { <<: *aptpkg, name: cffi }
+#- project: { <<: *aptpkg, name: cl-abnf }
+#- project: { <<: *aptpkg, name: cl-alexandria }
+#- project: { <<: *aptpkg, name: cl-anaphora }
+#- project: { <<: *aptpkg, name: cl-asdf }
+#- project: { <<: *aptpkg, name: cl-asdf-finalizers }
+#- project: { <<: *aptpkg, name: cl-asdf-system-connections }
+#- project: { <<: *aptpkg, name: cl-chipz }
+#- project: { <<: *aptpkg, name: cl-chunga }
+#- project: { <<: *aptpkg, name: cl-closure-common }
+#- project: { <<: *aptpkg, name: cl-command-line-arguments }
+#- project: { <<: *aptpkg, name: cl-containers }
+#- project: { <<: *aptpkg, name: cl-csv }
+#- project: { <<: *aptpkg, name: cl-curry-compose-reader-macros }
+#- project: { <<: *aptpkg, name: cl-cxml }
+#- project: { <<: *aptpkg, name: cl-daemon }
+#- project: { <<: *aptpkg, name: cl-db3 }
+#- project: { <<: *aptpkg, name: cl-drakma }
+#- project: { <<: *aptpkg, name: cl-dynamic-classes }
+#- project: { <<: *aptpkg, name: cl-esrap }
+#- project: { <<: *aptpkg, name: cl-fad }
+#- project: { <<: *aptpkg, name: cl-fiveam }
+#- project: { <<: *aptpkg, name: cl-garbage-pools }
+#- project: { <<: *aptpkg, name: cl-github-v3 }
+#- project: { <<: *aptpkg, name: cl-graph }
+#- project: { <<: *aptpkg, name: cl-ieee-floats }
+#- project: { <<: *aptpkg, name: cl-interpol }
+#- project: { <<: *aptpkg, name: cl-ironclad }
+#- project: { <<: *aptpkg, name: cl-iterate }
+#- project: { <<: *aptpkg, name: cl-ixf }
+#- project: { <<: *aptpkg, name: cl-local-time }
+#- project: { <<: *aptpkg, name: cl-log }
+#- project: { <<: *aptpkg, name: cl-lparallel }
+#- project: { <<: *aptpkg, name: cl-markdown }
+#- project: { <<: *aptpkg, name: cl-md5 }
+#- project: { <<: *aptpkg, name: cl-metabang-bind }
+#- project: { <<: *aptpkg, name: cl-metatilities-base }
+#- project: { <<: *aptpkg, name: cl-mssql }
+#- project: { <<: *aptpkg, name: cl-nibbles }
+#- project: { <<: *aptpkg, name: cl-parse-number }
+#- project: { <<: *aptpkg, name: cl-plus-ssl }
+#- project: { <<: *aptpkg, name: cl-postmodern }
+#- project: { <<: *aptpkg, name: cl-puri }
+#- project: { <<: *aptpkg, name: cl-py-configparser }
+#- project: { <<: *aptpkg, name: cl-qmynd }
+#- project: { <<: *aptpkg, name: cl-quri }
+#- project: { <<: *aptpkg, name: cl-rfc2388 }
+#- project: { <<: *aptpkg, name: cl-salza2 }
+#- project: { <<: *aptpkg, name: cl-sqlite }
+#- project: { <<: *aptpkg, name: cl-trivial-backtrace }
+#- project: { <<: *aptpkg, name: cl-trivial-garbage }
+#- project: { <<: *aptpkg, name: cl-trivial-utf-8 }
+#- project: { <<: *aptpkg, name: cl-unicode }
+#- project: { <<: *aptpkg, name: cl-utilities }
+#- project: { <<: *aptpkg, name: cl-uuid }
+#- project: { <<: *aptpkg, name: cl-who }
+#- project: { <<: *aptpkg, name: cl-yason }
+#- project: { <<: *aptpkg, name: cl-zip }
+#- project: { <<: *aptpkg, name: cl-zs3 }
+##