--- - project: name: onosfw jobs: - 'onosfw-verify-{stream}' - 'onosfw-daily-{stream}' - 'onosfw-build-{stream}' # only master branch is enabled at the moment to keep no of jobs sane stream: - master: branch: '{stream}' gs-pathname: '' disabled: false - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false project: 'onosfw' ######################## # job templates ######################## - job-template: name: 'onosfw-verify-{stream}' disabled: '{obj:disabled}' parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-ubuntu-defaults' scm: - git-scm-gerrit triggers: - gerrit: server-name: 'gerrit.opnfv.org' 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: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' disable-strict-forbidden-file-verification: 'true' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**|.gitignore' builders: - 'builder-onosfw-helloworld' - job-template: name: 'onosfw-daily-{stream}' disabled: '{obj:disabled}' parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-ubuntu-defaults' scm: - git-scm triggers: - timed: '@midnight' builders: - trigger-builds: - project: 'onosfw-build-{stream}' git-revision: true block: true - job-template: name: 'onosfw-build-{stream}' disabled: '{obj:disabled}' parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-ubuntu-defaults' - string: name: GS_URL default: '$GS_BASE{gs-pathname}' description: "Directory where the build artifact will be located upon the completion of the build." scm: - git-scm builders: - 'builder-onosfw-helloworld' ######################## # builder macros ######################## - builder: name: 'builder-onosfw-build' builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail # log info to console echo "Starting the build of $PROJECT. This could take some time..." echo "--------------------------------------------------------" echo # create the cache directory if it doesn't exist [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY # set OPNFV_ARTIFACT_VERSION export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") # start the build cd $WORKSPACE/ ./ci/build.sh $BUILD_DIRECTORY/ # list the build artifacts ls -al $BUILD_DIRECTORY # save information regarding artifact into file ( echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/onosfw.iso | cut -d' ' -f1)" echo "OPNFV_BUILD_URL=$BUILD_URL" ) > $BUILD_DIRECTORY/opnfv.properties echo echo "--------------------------------------------------------" echo "Done!" # yamllint disable rule:line-length - builder: name: 'builder-onosfw-upload-artifact' builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail # log info to console echo "Uploading the $INSTALLER artifact. This could take some time..." echo "--------------------------------------------------------" echo # source the opnfv.properties to get ARTIFACT_VERSION source $BUILD_DIRECTORY/opnfv.properties # upload artifact and additional files to google storage gsutil cp $BUILD_DIRECTORY/onosfw.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 echo echo "--------------------------------------------------------" echo "Done!" echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" # yamllint enable rule:line-length - builder: name: 'builder-onosfw-helloworld' builders: - shell: | #!/bin/bash echo "Hello world!"