Skip to content

Commit 603ebb8

Browse files
committed
[CI] issue: 4705805 Add antivirus scan to release job
Add antivirus scan step to the release job to scan release packages. Signed-off-by: Noam Tsemah <[email protected]>
1 parent 0dc96e0 commit 603ebb8

File tree

3 files changed

+70
-1
lines changed

3 files changed

+70
-1
lines changed

.ci/antivirus.sh

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/bin/bash -Exel
2+
3+
echo -e "\n\n**********************************"
4+
echo -e "\n\nStarting antivirus.sh script...\n\n"
5+
echo -e "**********************************\n\n"
6+
7+
if [ -z "$1" ]; then
8+
if [ -z "${release_folder}" ]; then
9+
echo "ERROR: Please use the first script argument or env var 'release_folder'. Exit"
10+
exit 1
11+
fi
12+
else
13+
release_folder=$1
14+
fi
15+
16+
if [ -z "$2" ]; then
17+
if [ -z "${release_version}" ]; then
18+
echo "ERROR: Please use the second script argument or env var 'release_version'."
19+
exit 1
20+
fi
21+
else
22+
release_version=$2
23+
echo "FULL_VERSION from script parameter: [${release_version}]"
24+
fi
25+
26+
release_src_folder="${release_folder}/vma_v_${release_version}-0/src"
27+
if [ ! -e "${release_src_folder}" ] || [ ! -d "${release_src_folder}" ]; then
28+
echo "ERROR: [${release_src_folder}] directory doesn't exist. Exit"
29+
exit 1
30+
fi
31+
32+
mkdir -p "${WORKSPACE}/logs/"
33+
34+
cd "${release_src_folder}/"
35+
pkg_name=$(ls -1 libvma-*.src.rpm)
36+
tarball_name=$(ls -1 libvma-*.tar.gz)
37+
38+
export RPM_SRC_PATH=${release_src_folder}/$pkg_name
39+
RPM_LOG=$WORKSPACE/logs/${pkg_name}_antivirus.log
40+
41+
export TARBALL_SRC_PATH=${release_src_folder}/$tarball_name
42+
TARBALL_LOG=$WORKSPACE/logs/${tarball_name}_antivirus.log
43+
44+
sudo -E -u swx-jenkins /auto/GLIT/SCRIPTS/HELPERS/antivirus-scan.sh "$RPM_SRC_PATH" 2>&1 | tee "$RPM_LOG"
45+
sudo -E -u swx-jenkins /auto/GLIT/SCRIPTS/HELPERS/antivirus-scan.sh "$TARBALL_SRC_PATH" 2>&1 | tee "$TARBALL_LOG"
46+
47+
if grep -q 'Possibly Infected:............. 0' "$RPM_LOG"; then
48+
status=0
49+
else
50+
status=1
51+
fi
52+
53+
if ! grep -q 'Possibly Infected:............. 0' "$TARBALL_LOG"; then
54+
status=1
55+
fi
56+
exit $status

.ci/pipeline/release_jjb.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@
3434
- bool:
3535
name: "do_release"
3636
default: true
37-
description: "Release build packges into the release folder, set to false for debugging"
37+
description: "Release build packages into the release folder, set to false for debugging"
38+
- bool:
39+
name: "do_antivirus"
40+
default: true
41+
description: "Run Antivirus scan."
3842
- string:
3943
name: "notification_email"
4044
default: "{jjb_release_email}"

.ci/pipeline/release_matrix_job.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ volumes:
2424
- {mountPath: /auto/mswg/release/vma, hostPath: /auto/mswg/release/vma}
2525
# User profile for release
2626
- {mountPath: /var/home/swx-jenkins, hostPath: /labhome/swx-jenkins}
27+
# for Antivirus
28+
- {mountPath: /auto/BACKUP/logs_of_LOGS, hostPath: /auto/BACKUP/logs_of_LOGS}
29+
- {mountPath: /auto/GLIT/SCRIPTS/HELPERS, hostPath: /auto/GLIT/SCRIPTS/HELPERS}
2730

2831
empty_volumes:
2932
- {mountPath: /tmp/source_rpms, memory: true}
@@ -45,6 +48,12 @@ steps:
4548
.ci/do_release.sh
4649
archiveArtifacts: pkg/build_pkg.log,pkg/packages/*.rpm
4750

51+
- name: Antivirus
52+
enable: ${do_antivirus}
53+
run: |
54+
env WORKSPACE=$PWD .ci/antivirus.sh ${release_folder} ${release_tag}
55+
archiveArtifacts: 'logs/'
56+
4857
pipeline_start:
4958
shell: action
5059
module: groovy

0 commit comments

Comments
 (0)