# this is the job configuration for bgs - project: name: genesis installer: - foreman - fuel - opensteak - juju jobs: - 'genesis-{installer}-verify' - 'genesis-{installer}-merge' - 'genesis-{installer}-daily-master' # stream: branch with - in place of / (eg. stable-helium) # branch: branch (eg. stable/helium) stream: - master: branch: 'master' project: 'genesis' ######################## # job templates ######################## - job-template: name: 'genesis-{installer}-verify' project-type: freestyle node: ericsson-build logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 parameters: - string: name: BUILD_DIRECTORY default: $WORKSPACE/build_output - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/genesis - project-parameter: project: '{project}' - gerrit-parameter: branch: 'master' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' wrappers: - ssh-agent-credentials: user: '{ssh-credentials}' triggers: - gerrit: trigger-on: - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: 'genesis' branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' file-paths: - compare-type: ANT pattern: 'common/**' - compare-type: ANT pattern: '{installer}/**' builders: - '{installer}-verify' - job-template: name: 'genesis-{installer}-merge' # builder-merge job to run JJB update # # This job's purpose is to update all the JJB project-type: freestyle node: ericsson-build logrotate: daysToKeep: 30 numToKeep: 40 artifactDaysToKeep: -1 artifactNumToKeep: 5 parameters: - string: name: BUILD_DIRECTORY default: $WORKSPACE/build_output - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/genesis - project-parameter: project: '{project}' - gerrit-parameter: branch: 'master' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '' choosing-strategy: 'default' wrappers: - ssh-agent-credentials: user: '{ssh-credentials}' triggers: - gerrit: trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: 'genesis' branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' file-paths: - compare-type: ANT pattern: 'common/**' - compare-type: ANT pattern: '{installer}/**' builders: - '{installer}-merge' - job-template: name: 'genesis-{installer}-daily-master' project-type: freestyle node: ericsson-build parameters: - string: name: BUILD_DIRECTORY default: $WORKSPACE/build_output description: "Directory where the build artifact will be located upon the completion of the build." - string: name: GS_URL default: 'artifacts.opnfv.org/genesis/{installer}' description: "URL to Google Storage." - string: name: INSTALLER default: '{installer}' description: "Installer to use." - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/genesis - string: name: GERRIT_BRANCH default: origin/master description: "Branch to build, deploy and test." - string: name: GERRIT_REFSPEC default: refs/heads/master description: "Refspec to retrieve." scm: - git: skip-tag: true url: $GIT_BASE branches: - $GERRIT_BRANCH refspec: $GERRIT_REFSPEC triggers: - pollscm: '@midnight' logrotate: daysToKeep: 30 numToKeep: 10 artifactDaysToKeep: -1 artifactNumToKeep: -1 builders: - '{installer}-daily-master' ######################## # builder macros ######################## - builder: name: foreman-verify builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: foreman-merge builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: foreman-daily-master builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: fuel-verify builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # set/create the cache location OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache" [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE # do the build cd $WORKSPACE/fuel/ci ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY # list the build artifacts ls -al $BUILD_DIRECTORY - builder: name: fuel-merge builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # set/create the cache location OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache" [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE # do the build cd $WORKSPACE/fuel/ci ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY # list the build artifacts ls -al $BUILD_DIRECTORY - builder: name: fuel-daily-master builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # set/create the cache location OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache" [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE # do the build cd $WORKSPACE/fuel/ci ./build.sh -f t -v $BUILD_ID -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail set -x # list the build artifacts ls -al $BUILD_DIRECTORY cd $BUILD_DIRECTORY # save information regarding artifact into file ( echo "GIT_URL=$(git config --get remote.origin.url)" echo "SHA1=$(git rev-parse HEAD)" echo "ARTIFACT_URL=$GS_URL/opnfv-$BUILD_ID.iso" echo "BUILD_URL=$BUILD_URL" echo "BUILD=OK" ) > opnfv-$BUILD_ID.properties # copy artifact property file as latest.properties # so we can directly get info regarding latest artifact /bin/cp -f opnfv-$BUILD_ID.properties latest.properties # upload artifact and additional files to google storage gsutil cp opnfv-$BUILD_ID.iso gs://$GS_URL/opnfv-$BUILD_ID.iso gsutil cp opnfv-$BUILD_ID.properties gs://$GS_URL/opnfv-$BUILD_ID.properties gsutil cp latest.properties gs://$GS_URL/latest.properties - builder: name: opensteak-verify builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: opensteak-merge builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: opensteak-daily-master builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: juju-verify builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: juju-merge builders: - shell: | #!/bin/bash echo "Hello World!" - builder: name: juju-daily-master builders: - shell: | #!/bin/bash echo "Hello World!"