Skip to content

Commit 22bb87e

Browse files
committed
spdk/ci: added tar.gz package
Signed-off-by: Iaroslav Sydoruk <[email protected]>
1 parent 225070e commit 22bb87e

File tree

5 files changed

+62
-15
lines changed

5 files changed

+62
-15
lines changed

.ci/Dockerfile.centos7.9.2009

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ ARG _LOGIN=swx-jenkins
55
ARG _HOME=/var/home/$_LOGIN
66
ARG MOFED_VER
77
ENV LANG=en_US.utf-8
8-
ENV PATH=/opt/rh/devtoolset-8/root/usr/bin:$PATH
8+
ENV PATH=/opt/rh/devtoolset-8/root/usr/bin:/opt/rh/rh-git227/root/bin:$PATH
9+
ENV LD_LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64:$LD_LIBRARY_PATHPATH
910
USER root
1011

1112
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*; \
@@ -23,6 +24,7 @@ RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-SCLo-*.repo; \
2324
RUN yum install -y \
2425
sudo \
2526
git \
27+
rh-git227-git \
2628
vim \
2729
wget \
2830
fakeroot \

.ci/build_rpm.sh

+20-11
Original file line numberDiff line numberDiff line change
@@ -36,32 +36,41 @@ fi
3636
#---
3737
# VladS asked to have "Revision" hardcoded into the SPEC file
3838
# So that we have to do inline editing
39+
if test -n "$ghprbPullId" ; then
40+
REV="pr${ghprbPullId}"
41+
else
42+
REV="${BUILD_NUMBER:-1}"
43+
fi
44+
3945
OUT_SPEC=./spdk.spec
40-
sed -e "s#scm_rev %{_rev}#scm_rev ${BUILD_NUMBER:-1}#" scripts/spdk.spec > $OUT_SPEC
41-
sed -i "s#%{_date}#$_date#; s#%{_sha1}#$sha1#; s#%{_branch}#$branch# " $OUT_SPEC
46+
mv scripts/spdk.spec $OUT_SPEC
47+
sed -i -e "s#scm_rev %{_rev}#scm_rev ${REV}#" $OUT_SPEC
48+
sed -i -e "s#%{_date}#$_date#; s#%{_sha1}#$sha1#; s#%{_branch}#$branch# " $OUT_SPEC
4249

4350
git archive \
44-
--format=tar --prefix=spdk-$VER/ -o $OUTDIR/spdk-$VER.tar HEAD
51+
--format=tar --prefix=spdk-$VER/ -o $OUTDIR/spdk-$VER.tar HEAD -- ':!**/*.spec'
4552
generate_changelog
4653

4754
pushd spdk-$VER
4855
apply_dpdk_patch
56+
cp ../spdk.spec .
4957
popd
5058

5159
tar -uf $OUTDIR/spdk-$VER.tar \
5260
spdk-$VER/debian/changelog \
5361
spdk-$VER/scripts/debian/changelog \
54-
spdk-$VER/dpdk/config/arm/arm64_bluefield_linux_native_gcc
62+
spdk-$VER/dpdk/config/arm/arm64_bluefield_linux_native_gcc \
63+
spdk-$VER/spdk.spec
5564

5665
git submodule init
5766
git submodule update
5867

59-
for MOD in $(git submodule |awk '{print $2}')
60-
do
61-
(cd $MOD;
62-
git archive \
63-
--format=tar --prefix=spdk-$VER/$MOD/ -o $OUTDIR/spdk-$MOD-$VER.tar HEAD
64-
)
68+
for MOD in $(git submodule | awk '{print $2}'); do
69+
(
70+
cd $MOD
71+
git archive \
72+
--format=tar --prefix=spdk-$VER/$MOD/ -o $OUTDIR/spdk-$MOD-$VER.tar HEAD -- ':!**/*.spec'
73+
)
6574
done
6675

6776
apply_dpdk_patch
@@ -71,7 +80,7 @@ do
7180
tar --concatenate --file=$OUTDIR/spdk-$VER.tar $OUTDIR/spdk-$MOD-$VER.tar
7281
done
7382

74-
gzip -c $OUTDIR/spdk-$VER.tar >$OUTDIR/spdk-$VER.tar.gz
83+
gzip -c $OUTDIR/spdk-$VER.tar > $OUTDIR/spdk-$VER-${REV}.tar.gz
7584

7685
# BUILD_NUMBER is an env var passed by Jenkins
7786
# https://stackoverflow.com/questions/16155792/using-jenkins-build-number-in-rpm-spec-file

.ci/job_matrix.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,17 @@ steps:
6666
run: |
6767
.ci/upload.sh urm
6868
69+
- name: Upload tar package
70+
containerSelector:
71+
- "{name: 'rockylinux9_2', variant:1}"
72+
credentialsId: 'svc-nbu-swx-repos'
73+
run: |
74+
if [[ "$(uname -m)" == "aarch64" ]]; then
75+
.ci/upload.sh tar
76+
else
77+
exit 0
78+
fi
79+
6980
pipeline_stop:
7081
containerSelector:
7182
- "{name: 'ubuntu22_04'}"

.ci/upload.sh

+26-2
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,22 @@ upload_rpm_urm() {
101101
done
102102
}
103103

104+
upload_tar_urm() {
105+
pushd $HOME/rpmbuild/SOURCES
106+
tar_pkg_url="${name}-${VER}-${REV}.tar.gz"
107+
MD5=$(md5sum $tar_pkg_url | awk '{print $1}')
108+
SHA1=$(shasum -a 1 $tar_pkg_url | awk '{ print $1 }')
109+
SHA256=$(shasum -a 256 $tar_pkg_url | awk '{ print $1 }')
110+
upload_url_urm="${REPO_URL}/${repo_name}/${tar_pkg_url}"
111+
echo "INFO: Uploading package ${tar_pkg_url} to ${upload_url_urm}"
112+
curl --fail -u "${REPO_USER}:${REPO_PASS}" -X PUT \
113+
-H "X-Checksum-MD5:${MD5}" \
114+
-H "X-Checksum-Sha1:${SHA1}" \
115+
-H "X-Checksum-Sha256:${SHA256}" \
116+
-T "${tar_pkg_url}" "${upload_url_urm}"
117+
popd
118+
}
119+
104120
bd=$(dirname $0)
105121
user=${USER:-root}
106122
: ${REPO_URL:?REPO_URL is not found!}
@@ -122,8 +138,8 @@ if command -v ofed_info >/dev/null 2>&1; then
122138
repo_name="${repo_name}-mlnx-ofed-${ofed_ver}"
123139
fi
124140

125-
if test -n "$ghprbPullId" ; then
126-
REV=${BUILD_NUMBER:-pr1}
141+
if test -n "$ghprbPullId"; then
142+
REV="pr${ghprbPullId}"
127143
repo_name="${repo_name}-pr"
128144
STAGE="pr"
129145
else
@@ -153,6 +169,14 @@ elif [[ -f /etc/redhat-release || -f /etc/openEuler-release ]]; then
153169
if [ $1 == "urm" ]; then
154170
REPO_URL="${REPO_URL}/sw-nbu-swx-ci-rpm-local"
155171
upload_rpm_urm
172+
elif [ $1 == "tar" ]; then
173+
if [[ -f "$HOME/rpmbuild/SOURCES/${name}-$VER-$REV.tar.gz" ]]; then
174+
REPO_URL="${REPO_URL}/sw-nbu-swx-ci-generic-local/packages/tar"
175+
upload_tar_urm
176+
else
177+
echo "*.tar.gz file not found!"
178+
exit 1
179+
fi
156180
else
157181
echo "Repo not selected"
158182
exit 1

scripts/spdk.spec

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
%define scm_version 23.01.5
22
%define unmangled_version %{scm_version}
33
%define scm_rev %{_rev}
4+
%define pkg_ver %{scm_version}-%{scm_rev}
45
Epoch: 0
56

67
%define pkg_prefix /opt/mellanox/spdk
@@ -15,7 +16,7 @@ Packager: [email protected]
1516
Group: System Environment/Daemons
1617
License: BSD and LGPLv2 and GPLv2
1718
URL: http://www.spdk.io
18-
Source0: spdk-%{version}.tar.gz
19+
Source0: spdk-%{pkg_ver}.tar.gz
1920

2021
%define package_version %{epoch}:%{version}-%{release}
2122
%define install_datadir %{buildroot}/%{_datadir}/%{name}

0 commit comments

Comments
 (0)