blob: 043f15914d35a2ce6b61afb39e3b3816f5cbfda5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
- 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'
|