- job: name: build-odp-rpm project-type: matrix defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-read - job-extended-read - job-build - job-cancel node: master disabled: false display-name: 'Build RPM for opendataplane.org' scm: - git: url: https://git.linaro.org/lng/odp.git refspec: +refs/heads/master:refs/remotes/origin/master name: origin branches: - refs/heads/master basedir: odp skip-tag: true shallow-clone: false wipe-workspace: false axes: - axis: type: slave name: label values: - docker-centos7-aarch64 - docker-fedora23-aarch64 wrappers: - timestamps - build-name: name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}' - matrix-tie-parent: node: master builders: - shell: | #!/bin/bash set -ex cat > repo.parameters << EOF build_success=false EOF . /etc/os-release dist=${ID}-${VERSION_ID} sudo yum install -y wget git rpm-build yum-utils make pkg_source=odp cd ${pkg_source} # Create tarball base_version=$(git describe --long --match='v*' | sed -e 's/^v//' | cut -d'-' -f1) nb_commit=$(git describe --long --match='v*' | sed -e 's/^v//' | cut -d'-' -f2) scm_commit=$(git log -n1 --pretty=format:%h) pkg_version=${base_version}+git${nb_commit}+${scm_commit} pkg_dir=${pkg_source}-${pkg_version} git archive --format=tar.gz --prefix=${pkg_dir}/ origin/master > ../${pkg_dir}.tar.gz cd .. # download spec file mkdir -p rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} cp -a ${pkg_source}*.tar.gz rpmbuild/SOURCES/ packaging_dir=odp-packaging packaging_repository=https://git.linaro.org/lng/${packaging_dir}.git git clone -b master --depth 1 ${packaging_repository} packaging_commit=$(cd ${packaging_dir} && git log -n1 --pretty=format:%h) cp ${packaging_dir}/pkg/rpm/odp.spec rpmbuild/ # Prepare spec file pkg_repository=https://git.linaro.org/lng/odp.git if [ ${nb_commit} -ne 0 ]; then creation_date=$(date '+%a %b %e %G') RPMEMAIL="anders.roxell@linaro.org" sed -i -e "s|changelog|changelog\n\ * ${creation_date} - ${RPMEMAIL}\n\ - CI - ${pkg_source} snapshot:\n\ repository: ${pkg_repository}\n\ commit: ${scm_commit}\n\ build: ${BUILD_URL} \n\n\ rpm/ repository: ${packaging_repository}\n\ rpm/ commit: ${packaging_commit}\n\ |g" rpmbuild/odp.spec fi sed -i "s|^Version: .*$|Version: ${pkg_version}|g" rpmbuild/odp.spec # Install prerequisite sudo wget http://rpm.opendataplane.org/$dist/odp.repo -O /etc/yum.repos.d/odp.repo sudo yum-builddep --nogpg -y ./rpmbuild/odp.spec || true # Build rpm rpmbuild --quiet --nodeps --define="_topdir $(pwd)/rpmbuild" -ba ./rpmbuild/odp.spec find rpmbuild/RPMS -type f -name '*.rpm' -exec mv {} . \; cat > ../repo.parameters << EOF build_success=true pkg_job_name=${JOB_NAME} repo=odp dist=${dist} EOF publishers: - copy-to-master: includes: - '*rpm, repo.parameters' - trigger-parameterized-builds: - project: post-build-rpm property-file: "label/docker-centos7-aarch64/repo.parameters" - project: post-build-rpm property-file: "label/docker-fedora23-aarch64/repo.parameters" - email: recipients: 'riku.voipio@linaro.org lng-ci@lists.linaro.org'