Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
9221945
issue: 3249310 Support only systemctl for vma service setup/removal
AlexanderGrissik Nov 7, 2022
3a09224
issue: 321712 ****************** VMA 9.7.2 *******************
AlexanderGrissik Nov 14, 2022
dfd16c2
issue: 321712 ****************** VMA 9.8.0 *******************
AlexanderGrissik Dec 15, 2022
3583396
issue: 3321730: Update the copyright statement to 2023
alexbriskin Jan 5, 2023
708bf0f
issue: 3325307 CI OS list updated
Dec 14, 2022
c4c92eb
issue: 3325307 Fedora 36, RHEL 8.6-inbox x86_64 added to CI OS list, …
Jan 10, 2023
8c77e65
issue: 321712 ****************** VMA 9.8.1 *******************
AlexanderGrissik Jan 16, 2023
84d9640
issue: 3364842 Adding COPYING license file
AlexanderGrissik Jan 29, 2023
74a4c74
issue: 3373882 Fix compilation issue for gcc 13.0.1
igor-ivanov Feb 20, 2023
e66fe73
issue: 321712 ****************** VMA 9.8.20 ******************
AlexanderGrissik Mar 1, 2023
9204ac4
issue: 3325307 [CI] Replacing r-aa-fatty09 with beni09
rostiksh May 31, 2023
088f410
issue: 321712 ****************** VMA 9.8.30 ******************
AlexanderGrissik Jun 8, 2023
92f3868
issue: 3525812 Fix buffer leak socketextreme
iftahl Jul 9, 2023
daaad2b
issue: 321712 ****************** VMA 9.8.31 ******************
AlexanderGrissik Jul 10, 2023
89554e2
issue: 3497651 Improve CI
igor-ivanov Jun 7, 2023
dedd17e
issue: 3497651 Use ConnectX-5 in CI by default
igor-ivanov Jun 7, 2023
7414406
issue: 3388776 Improve systemd check for chroot environment
igor-ivanov Mar 6, 2023
be10cae
issue: 3591039 Fixing lwip seqno wrap around condition
AlexanderGrissik Aug 31, 2023
ac4c571
issue: 3591039 Fix type overflow during trimming TCP seg
pasis Aug 31, 2023
f5b14d6
issue: 3591039 Fix ref count for mem_buf chains
iftahl Sep 3, 2023
8986188
issue: 3591039 Fix GRO retransmitted TCP stream
iftahl Sep 3, 2023
d2a370f
issue: 3591039 Incorrect pbuf chain split
iftahl Sep 3, 2023
e3d75c3
issue: 3593939 Remove DPCP dependency from VMA
asafsonnv Sep 5, 2023
6fe417f
issue: 3604175 Fixing stuck empty rx ring cleanup
AlexanderGrissik Sep 12, 2023
ae7f37c
issue: 321712 ****************** VMA 9.8.40 ******************
AlexanderGrissik Sep 12, 2023
3b0168c
issue: 3604029 Fix releasing ring flow
igor-ivanov Sep 21, 2023
0239dda
issue: 3623373 Fix corruption during ring release
igor-ivanov Oct 2, 2023
5195dcd
issue: 3623373 Add special processing for RING_LOGIC_PER_IP
igor-ivanov Oct 2, 2023
fdb5c5d
issue: 3655436 Add full TCP_KEEPALIVE support
alexbriskin Nov 2, 2023
ea804db
issue: 3655436 Return ETIMEDOUT err for timed out socket
AlexanderGrissik Dec 27, 2023
2d1bccc
issue: 3697720 Fixing socket destruction race
iftahl Dec 7, 2023
069d43c
issue: 3697720 Remove deferred timers logic
iftahl Dec 7, 2023
70161db
issue: 3697720 Option to postpone socket close
iftahl Dec 10, 2023
a0c94d0
issue: 1214066 Update some unsigned char -> uint32_t for table_id
jdrouhard Dec 13, 2023
bd109dd
issue: 321712 ****************** VMA 9.8.50 ******************
AlexanderGrissik Dec 28, 2023
cef07e0
issue: 3723595 Update the copyright statement to 2024
alexbriskin Jan 1, 2024
1b0609f
issue: 321712 ****************** VMA 9.8.51 ******************
AlexanderGrissik Jan 11, 2024
a565fed
issue: 3760829 CI/Coverity - add snapshot action (if do_coverity_snap…
vialogi Jan 29, 2024
fc19f93
issue: 3749337 Handle negative keapalive params
alexbriskin Jan 29, 2024
1c80375
issue: 3749310 Fix the main timer accuracy/resolution
alexbriskin Feb 1, 2024
4ee01b9
issue: 3749310 Move loops_timer to chrono
alexbriskin Feb 13, 2024
536ca51
issue: 321712 ****************** VMA 9.8.60 ******************
galnoam Feb 28, 2024
96f1d72
issue: 3375239 - add email scan in packages
NirWolfer Apr 25, 2024
8085171
[CI] Migrate pipeline to Blossom
NirWolfer Jun 25, 2024
402a883
issue: 3977246 ngci connecting to the wrong url
NirWolfer Jul 2, 2024
bbaae49
issue: 3977246 Migrate redmine checker pipeline to blossom
NirWolfer Jun 30, 2024
8d670d2
Fix compilation with GCC 14
yselkowitz Jun 23, 2024
25f17b3
issue: 4007026 - [CI] Release pipeline
NirWolfer Jul 22, 2024
ca8b8f5
[CI] issue: 4007026 Remove latest file link from release script
NirWolfer Aug 11, 2024
77e0f78
issue: 4007026 Disaster recovery pipeline
NirWolfer Aug 18, 2024
0969448
issue: 4042266 install DOCA-ofed instead of MOFED in CI
vialogi Aug 15, 2024
5a8445d
issue: 4061858 Upgrade header checker
vialogi Sep 5, 2024
cb8d2ee
issue: 4061858 Update files with compliant header format
vialogi Sep 5, 2024
1978cb6
issue: 4081165 - fixing false positives in the Secrets Scanner
vialogi Sep 11, 2024
758f9b4
issue: 4042266 remove support for old OS images in CI:
vialogi Aug 21, 2024
76c6bb6
issue: 4153438 DRP use geoDNS registry url
vialogi Nov 7, 2024
6509c3e
issue: 4233101 header licensing for 2025
tomerdbz Jan 1, 2025
0460967
[CI] issue: 4208807 Implement weekly builds on DR site
vialogi Dec 12, 2024
1849e0a
issue: 4223310 VMA support for kernel 6.10
tomerdbz Jan 13, 2025
4fdacf3
[CI] issue: 4277240 Update webrepo URL to GeoDNS
vialogi Jan 29, 2025
25e0515
[CI] issue: 4283986 Move build steps to Blossom K8s
vialogi Feb 3, 2025
b5bcc03
issue: 4251780 Fix gtest/vma_poll tests
igor-ivanov Jan 16, 2025
369db14
issue: 4251780 Replace ALLOC_TYPE_EXTERNAL with ALLOC_TYPE_REGISTER_M…
igor-ivanov May 17, 2021
223281d
issue: 4251780 Add ALLOC_TYPE_EXTERNAL allocator type
igor-ivanov May 17, 2021
d74cc83
issue: 4251780 Improve accessing extra api interfaces
igor-ivanov Jan 17, 2025
f1819c5
issue: 4251780 Add ioctl() extra api
igor-ivanov Jan 17, 2025
8924173
issue: 4251780 Add gtests for ioctl() extra api
igor-ivanov Jan 17, 2025
6548c0b
issue: 4251780 Make vma_exit symbol visible
igor-ivanov Jan 17, 2025
fc47e86
issue: 4251780 Fix CI to launch vma_ioctl individually
igor-ivanov Jan 17, 2025
3b7e086
issue: 321712 ****************** VMA 9.8.70 ******************
galnoam Feb 9, 2025
6b35db8
[CI] issue: 4294918 Fix license type for header checker
vialogi Feb 10, 2025
191dfbd
[CI] issue: 4294918 Fix copyright headers in project files
vialogi Feb 10, 2025
1771d78
issue: 4260620 infinite loop latency spec
tomerdbz Jan 19, 2025
308747b
[CI] issue: 4332286 Release path change and source_rpms semilink
NirWolfer Feb 26, 2025
bcc51ba
[CI] issue: 4322501 Add rhel9.4 aarch64 as build container
NirWolfer Mar 2, 2025
2a89b8f
[CI] Issue: 4332286 DR release pipeline fails on daily test
NirWolfer Mar 6, 2025
3ec6e4f
issue: 4337575 Init VMA in vma_thread_offload()
pasis Mar 19, 2025
27857db
issue: 4371010 Update copyright layout
BasharRadya Mar 19, 2025
b890f1d
issue: 3848350 Coverity Move Semantics
BasharRadya Mar 23, 2025
8f06b8f
issue: 3848350 Add conditional compilation time measure
BasharRadya Mar 23, 2025
8f43014
issue: 3848350 Coverity Supress FalsePositives
BasharRadya Mar 25, 2025
61bf8a1
issue: 3848350 Fix datatypes
BasharRadya Mar 25, 2025
2448ecc
issue: 3848350 Coverity fix uninitialized member
BasharRadya Mar 25, 2025
8a7d0bc
issue: 3848350 Upgrade coverity to v2023.12
BasharRadya Mar 25, 2025
dca4bf2
issue: 321712 ****************** VMA 9.8.71 ******************
galnoam Mar 26, 2025
5e51353
[CI] Issue: 4396851 Update GHPRB service user
MrBr-github Apr 6, 2025
416c442
[CI] issue: 4411941 BlackDuck scan startup fix
vialogi Apr 22, 2025
cb7e7eb
[CI] issue: 4416570 Move hardcoded BD token to Jenkins Credentials
vialogi Apr 28, 2025
de434e8
[CI] issue: 4377705 Create tar.gz from src.rpm
NirWolfer May 12, 2025
caed04f
issue: 4446285 Replace linux list with BSD list
BasharRadya May 14, 2025
bef0769
issue: 321712 ****************** VMA 9.8.72 ******************
galnoam May 29, 2025
3d9baea
[CI] issue: 4504772 Add SECURITY.md
MrBr-github Jun 29, 2025
6679874
[CI] issue: 4377705 Create softlink for source rpm
NirWolfer Jun 25, 2025
a80ffaa
[CI] issue: 4568257 change blackduck scan to signature
NirWolfer Jun 26, 2025
c7f7597
[CI] issue: 4568257 Change default JNLP image
NirWolfer Aug 6, 2025
bde1da1
issue: 4607536 Fix reading flow_tag from CQE
BasharRadya Jul 2, 2025
2403a65
issue: 4607536 Update maximum sq size
BasharRadya Jul 3, 2025
e53e366
issue: 4607536 Prevent SendQueue overflow
BasharRadya Jul 3, 2025
3e8b239
issue: 4607536 RTO after fast retransmission
BasharRadya Jul 8, 2025
2e26e54
issue: 4607536 Remove iterating lists to find last
BasharRadya Jul 8, 2025
91c7e75
issue: 4607536 Update last_unacked on ACK recv
BasharRadya Jul 8, 2025
aed5358
issue: 4607536 Fix last_unacked in tcp_rexmit_rto
BasharRadya Jul 8, 2025
7ec7513
issue: 4607536 Update last_unacked in tcp_rexmit
BasharRadya Jul 8, 2025
f648d13
issue: 4607536 Prohibit aggregation of non sequential TCP seqno
BasharRadya Jul 8, 2025
16928f6
issue: 4607536 Update last_unacked in tcp_pcb_purge
BasharRadya Jul 10, 2025
a2ebddf
issue: 4607536 Update last_unacked in syn sent state
BasharRadya Jul 10, 2025
d362151
issue: 4607536 Update pcb->last_unsent/last_unacked in tcp_abandon
BasharRadya Jul 10, 2025
0630117
issue: 4607536 Fix a race condition
BasharRadya Aug 28, 2025
cd4466c
issue: 4607536 Fixing TCP hanging CLOSED sockets
BasharRadya Aug 28, 2025
0dc96e0
issue: 321712 ****************** VMA 9.8.80 ******************
galnoam Sep 7, 2025
f70f88d
[CI] issue: 4681261 DR Weekly - do not run on master
NirWolfer Oct 21, 2025
535dca6
issue: 4664028 Removing legacy and exp verbs
AlexanderGrissik Nov 10, 2025
086269d
issue: 4664028 Removing legacy defines
AlexanderGrissik Nov 10, 2025
5e448e2
issue: 4664028 Removing TSO
AlexanderGrissik Nov 4, 2025
1205e9b
issue: 4664028 Removing IPoIB support
AlexanderGrissik Nov 9, 2025
86c40fc
issue: 4664028 Adding fair-sched to vg test
AlexanderGrissik Nov 23, 2025
6bfbe89
[CI] issue: 4705805 Add antivirus scan to release job
ntsemah Oct 27, 2025
ce25114
[CI] issue: 4705805 Add secret scan step
ntsemah Nov 5, 2025
760ef70
[CI] issue: 4705805 Add Blackduck to release job
ntsemah Oct 30, 2025
f1b79e3
issue: 321712 ****************** VMA 9.8.81 ******************
galnoam Dec 14, 2025
418705a
issue: 4751690 Fix FIN flow during SYN handshake in VMA_TCP_CTL_THREAD
pasis Dec 4, 2025
72cbf2b
[CI] issue: 4568257 change scm user
NirWolfer Dec 7, 2025
057b3bd
[CI] issue: 4568257 Run Blackduck as root
NirWolfer Dec 15, 2025
cbad3e8
[CI] Issue: 4625338 coverity agressiveness
OmriRitblat Dec 9, 2025
c4f0ae9
issue: 4625338 Coverity CHECKED_RETURN fixes
OmriRitblat Dec 9, 2025
5b20534
issue: 4625338 Coverity FORWARD_NULL fixes
OmriRitblat Dec 17, 2025
d7a6965
issue: 4625338 Coverity RETURN_NULL fixes
OmriRitblat Dec 17, 2025
cc40f25
issue: 4625338 Fix Coverity overflow, leak and NULL issues
OmriRitblat Dec 17, 2025
27a31c0
issue: 4625338 Fix Coverity uninitialized variable issues
OmriRitblat Dec 22, 2025
eab3f47
issue: 4625338 Fix Coverity unused value warnings
OmriRitblat Dec 23, 2025
7576b9e
issue: 321712 ****************** VMA 9.8.82 ******************
galnoam Dec 24, 2025
2e6d439
issue: 4817154 Update Copyrights Header
tomerdbz Jan 1, 2026
4082714
issue: 4817116 fix CQ notification return check
tomerdbz Jan 1, 2026
464539e
issue: 321712 ****************** VMA 9.8.83 ******************
galnoam Jan 5, 2026
d96916c
issue: 4825350 Fixing max allowed QP work elements
AlexanderGrissik Jan 6, 2026
796cf29
issue: 4504533 Fix VMA_BF environment variable
BasharRadya Jun 26, 2025
22ebdca
issue: 4504533 Add warning when BlueFlame setup fails
BasharRadya Jan 7, 2026
841fda8
Revert "issue: 4825350 Fixing max allowed QP work elements"
galnoam Jan 6, 2026
4555b4b
issue: 321712 ****************** VMA 9.8.84 ******************
galnoam Jan 8, 2026
70d6daa
[CI] issue: 4705805 Update DOCA version to 3.3.0
ntsemah Jan 12, 2026
22151cf
[CI] issue: 4705805 Replace rhel8.6 with rhel9.6
ntsemah Jan 12, 2026
d48665e
[CI] issue: 4568257 Blackduck fails creating log file
NirWolfer Dec 30, 2025
dae265e
[CI] issue: 4705805 Run header check on changed files only
ntsemah Apr 19, 2026
0d727ff
issue: 5022366 Valgrind sockperf leak suppression
BasharRadya May 11, 2026
fd1679d
[CI] issue: 4684071 Terminate Valgrind gracefully
NirWolfer Oct 22, 2025
3d05c13
issue: 4917201 Fix non-c-typedef-for-linkage build error
tomerdbz Mar 5, 2026
7c8731e
issue: 4917201 Fix unused-but-set warnings in ring_simple/ring_tap
tomerdbz May 10, 2026
74d51c1
issue: 4917201 Fix more unused-but-set warnings w/ --enable-opt-log=no
tomerdbz May 11, 2026
97748dc
[CI] issue: 4705805 Add Fedora CI pipeline
ntsemah Apr 9, 2026
4b23a85
issue: 770 [CI] Update secret-scan container registry
elkopel Jul 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .ci/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// load pipeline functions
// Requires pipeline-github-lib plugin to load library from github
@Library('github.com/Mellanox/ci-demo@stable')
@Library('github.com/Mellanox/ci-demo@stable_media')
def matrix = new com.mellanox.cicd.Matrix()

matrix.main()
37 changes: 37 additions & 0 deletions .ci/antivirus.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash -uxe

echo -e "\n\n**********************************"
echo -e "\n\nStarting antivirus.sh script...\n\n"
echo -e "**********************************\n\n"

[[ -z "${WORKSPACE:-}" ]] && { echo "ERROR: WORKSPACE variable is empty"; exit 1; }
[[ ! -d "${WORKSPACE}" ]] && { echo "ERROR: ${WORKSPACE} does not exist"; exit 1; }
[[ -z "${release_folder:-}" ]] && { echo "ERROR: release_folder variable is empty"; exit 1; }
[[ ! -d "${release_folder}" ]] && { echo "ERROR: ${release_folder} does not exist"; exit 1; }
[[ -z "${release_tag:-}" ]] && { echo "ERROR: release_tag variable is empty"; exit 1; }

if [ -z "${revision:-}" ]; then
echo "WARN: 'revision' was not set, defaulting to 1"
revision=1
fi

mkdir -p "${WORKSPACE}/logs/"

release_src_folder="${release_folder}/vma_v_${release_tag}-0/src"
pkg_name="libvma-${release_tag}-${revision}.src.rpm"
tarball_name="libvma-${release_tag}.tar.gz"
rpm_log="${WORKSPACE}/logs/${pkg_name}_antivirus.log"
tarball_log="${WORKSPACE}/logs/${tarball_name}_antivirus.log"

[[ ! -d "${release_src_folder}" ]] && { echo "ERROR: ${release_src_folder} does not exist."; exit 1; }
[[ ! -e "${release_src_folder}/${pkg_name}" ]] && { echo "ERROR: ${release_src_folder}/${pkg_name} does not exist."; exit 1; }
[[ ! -e "${release_src_folder}/${tarball_name}" ]] && { echo "ERROR: ${release_src_folder}/${tarball_name} does not exist."; exit 1; }

/auto/GLIT/SCRIPTS/HELPERS/antivirus-scan.sh "${release_src_folder}/${pkg_name}" |& tee "${rpm_log}"
/auto/GLIT/SCRIPTS/HELPERS/antivirus-scan.sh "${release_src_folder}/${tarball_name}" |& tee "${tarball_log}"

if grep -q 'Possibly Infected:............. 0' "${rpm_log}" && grep -q 'Possibly Infected:............. 0' "${tarball_log}"; then
exit 0
else
exit 1
fi
47 changes: 47 additions & 0 deletions .ci/blackduck_source.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/bin/bash -Exel

topdir=$(git rev-parse --show-toplevel)
cd "$topdir"

# Check if the variables and pipeline attributes are set
[[ -z "${WORKSPACE}" ]] && { echo "Error: WORKSPACE variable is not set"; exit 1; }
[[ -z "$BLACKDUCK_API_TOKEN" ]] && { echo "Error: BLACKDUCK_API_TOKEN variable is not set"; exit 1; }
[[ ! -d "${WORKSPACE}/logs" ]] && mkdir -p "${WORKSPACE}/logs"

# Create valid JSON for further authentication in BlackDuck server
json=$(jq -n \
--arg token "$BLACKDUCK_API_TOKEN" \
'{"blackduck.url": "https://blackduck.mellanox.com/", "blackduck.api.token": $token }')

export SPRING_APPLICATION_JSON="$json"
export PROJECT_NAME=LibVMA
export PROJECT_VERSION="$sha1"
export PROJECT_SRC_PATH="$topdir"/
echo "Running BlackDuck (SRC) on $name"
echo "CONFIG:"
echo " NAME: ${PROJECT_NAME}"
echo " VERSION: ${PROJECT_VERSION}"
echo " SRC_PATH: ${PROJECT_SRC_PATH}"

# clone BlackDuck
[[ -d /tmp/blackduck ]] && rm -rf /tmp/blackduck
sudo -u swx-jenkins git clone -c core.sshCommand="ssh -l svc-nbu-swx-media -i ~/.ssh/id_ed25519_svc-nbu-swx-media_gerrit" -b master --single-branch --depth=1 ssh://git-nbu.nvidia.com:12023/DevOps/Tools/blackduck /tmp/blackduck
cd /tmp/blackduck

# disable check errors
set +e
timeout 3600 ./run_bd_scan.sh signature
exit_code=$?
# enable back
set -e

# copy run log to a place that jenkins job will archive it
REPORT_NAME="BlackDuck_source_${PROJECT_NAME}_${PROJECT_VERSION}"
cat "log/${PROJECT_NAME}_${PROJECT_VERSION}"*.log > "${WORKSPACE}/logs/${REPORT_NAME}.log" || true
cat "log/${PROJECT_NAME}_${PROJECT_VERSION}"*.log || true

if [ "$exit_code" == "0" ]; then
cp -v /tmp/blackduck/report/*.pdf "${WORKSPACE}/logs/${REPORT_NAME}.pdf"
fi

exit $exit_code
92 changes: 92 additions & 0 deletions .ci/do_release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/bin/bash -Exel

echo "**********************************"
echo "Starting do_release.sh script..."
echo "**********************************"

set -o pipefail

print_help() {
set +xv
echo -e "\n\n"
echo "--------------------------------------------------"
echo "Usage: release_folder=<release folder> release_tag=<release tag> [revision=<revision>] [do_release=<true|false>] $0"
echo " Where release folder is a path to NFS folder to copy the package into"
echo " Where release tag is a git tag to release (must be already tagged in the git repo)"
echo " Where revision is a number postfix to add the to package indicating which version of the tag it is - OPTIONAL, default value 1"
echo " Where do_release is a boolean value indicating if the script will copy the created package into the release folder location - OPTIONAL, default value false"
exit 1
}

if [ -z "${release_folder}" ]; then
echo "ERROR: 'release_folder' was not set."
print_help
fi

if [ ! -e "${release_folder}" ] || [ ! -d "${release_folder}" ]; then
echo "ERROR: [${release_folder}] directory doesn't exist."
print_help
fi

if [ -z "${release_tag}" ]; then
echo "ERROR: 'release_tag' was not set."
print_help
fi

if [ -z "${revision}" ]; then
echo "WARN: 'revision' was not set, defaulting to 1"
revision=1
fi

if [ -z "${do_release}" ]; then
echo "WARN: 'do_release' was not set, defaulting to false (package will not be release)"
do_release=false
fi

MAJOR_VERSION=$(grep -e "define(\[prj_ver_major\]" configure.ac | awk '{ printf $2 };' | sed 's/)//g')
MINOR_VERSION=$(grep -e "define(\[prj_ver_minor\]" configure.ac | awk '{ printf $2 };' | sed 's/)//g')
REVISION_VERSION=$(grep -e "define(\[prj_ver_revision\]" configure.ac | awk '{ printf $2 };' | sed 's/)//g')
configure_ac_version="${MAJOR_VERSION}.${MINOR_VERSION}.${REVISION_VERSION}"
pkg_folder=pkg/packages
pkg_name="libvma-${release_tag}-${revision}.src.rpm"
tarball_name="libvma-${release_tag}.tar.gz"
DST_DIR=${release_folder}/vma_v_${release_tag}-0/src
echo "FULL_VERSION from configure.ac: [${configure_ac_version}]"

# Creating both tarball and src.rpm
env PRJ_RELEASE="${revision}" contrib/build_pkg.sh -s -t

if [[ "${release_tag}" != "${configure_ac_version}" ]]; then
echo "ERROR: FULL_VERSION: ${configure_ac_version} from configure.ac doesn't match tag: ${release_tag} provided! Exit"
exit 1
fi

if [ "${do_release}" = true ] ; then
echo "do_release is set to true, will release package into ${DST_DIR}"

if [ ! -d "${pkg_folder}" ]; then
echo "ERROR: [${pkg_folder}] directory doesn't exist. Exit"
exit 1
fi

if [[ -e "${DST_DIR}/${pkg_name}" || -e "${DST_DIR}/${tarball_name}" ]]; then
echo "ERROR: [${DST_DIR}/${pkg_name}] or [${DST_DIR}/${tarball_name}] file already exist. Exit"
exit 1
fi
files_dir=$(pwd)
pushd "${release_folder}" || { echo "ERROR: Failed to pushd to ${release_folder}. Exit" ; exit 1; }
mkdir -p "$DST_DIR"
cp -v "${files_dir}/${pkg_folder}/${pkg_name}" "$DST_DIR"
cp -v "${files_dir}/${pkg_folder}/${tarball_name}" "$DST_DIR"
ln -s "${DST_DIR}/${pkg_name}" "${release_folder}/source_rpms/${pkg_name}"
popd || { echo "ERROR: Failed to popd from ${release_folder}. Exit" ; exit 1; }

echo "INFO: Release found at $DST_DIR"
else
echo "INFO: do_release is set to false, skipping package release."
fi

set +x
echo "**********************************"
echo "Finished do_release.sh script..."
echo "**********************************"
9 changes: 9 additions & 0 deletions .ci/dockerfiles/Dockerfile.fedora-rawhide
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM docker.io/library/fedora:rawhide

RUN dnf install --allowerasing -y procps-ng \
bsdtar git-core autoconf automake \
libtool gcc gcc-c++ make pkgconf-pkg-config \
rdma-core-devel libnl3-devel gzip\
&& ln -sf /usr/bin/bsdtar /usr/local/bin/tar \
&& dnf clean all \
&& rm -rf /var/cache/dnf
34 changes: 34 additions & 0 deletions .ci/dockerfiles/Dockerfile.rhel8.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
ARG HARBOR_URL=nbu-harbor.gtm.nvidia.com
ARG ARCH=x86_64
FROM $HARBOR_URL/hpcx/x86_64/rhel8.6/core:latest as core
ARG WEBREPO_URL=webrepo.gtm.nvidia.com

RUN sed -i "s/webrepo/${WEBREPO_URL}/" /etc/yum.repos.d/* && \
sed -i 's/mirrorlist/#mirrorlist/;s!#baseurl=http://mirror.centos.org!baseurl=http://vault.centos.org!' /etc/yum.repos.d/* && \
echo "[mlnx-opt]" > /etc/yum.repos.d/mlnx-opt.repo && \
echo "name=RHEL 8.6 mirror" >> /etc/yum.repos.d/mlnx-opt.repo && \
echo "baseurl=http://${WEBREPO_URL}/RH/optional/8.6/x86_64/" >> /etc/yum.repos.d/mlnx-opt.repo && \
echo "enabled=1" >> /etc/yum.repos.d/mlnx-opt.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/mlnx-opt.repo && \
yum makecache

RUN yum install --allowerasing -y \
java-11-openjdk jq git && \
yum clean all && \
rm -rf /var/cache/yum

FROM core as bduck
ARG _UID=6213
ARG _GID=101
ARG _LOGIN=swx-jenkins
ARG _HOME=/var/home/$_LOGIN
RUN echo "${_LOGIN} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
mkdir -p ${_HOME} && \
groupadd -f -g "$_GID" "$_LOGIN" && \
useradd -u "$_UID" -g "$_GID" -s /bin/bash -m -d ${_HOME} "${_LOGIN}" && \
chown -R ${_LOGIN} ${_HOME} && \
yum install --allowerasing -y \
jq git java-11-openjdk sudo && \
yum clean all && \
rm -rf /var/cache/yum
29 changes: 29 additions & 0 deletions .ci/dockerfiles/Dockerfile.rhel8.6.release
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ARG HARBOR_URL=nbu-harbor.gtm.nvidia.com
FROM $HARBOR_URL/hpcx/x86_64/rhel8.6/core:latest
ARG WEBREPO_URL=webrepo.gtm.nvidia.com
ARG _UID=6213
ARG _GID=101
ARG _LOGIN=swx-jenkins
ARG _HOME=/var/home/$_LOGIN

RUN sed -i "s#http://webrepo#http://${WEBREPO_URL}#" /etc/yum.repos.d/* && \
sed -i 's/mirrorlist/#mirrorlist/;s!#baseurl=http://mirror.centos.org!baseurl=http://vault.centos.org!' /etc/yum.repos.d/* && \
echo "[mlnx-opt]" > /etc/yum.repos.d/mlnx-opt.repo && \
echo "name=RHEL 8.6 mirror" >> /etc/yum.repos.d/mlnx-opt.repo && \
echo "baseurl=http://${WEBREPO_URL}/RH/optional/8.6/x86_64/" >> /etc/yum.repos.d/mlnx-opt.repo && \
echo "enabled=1" >> /etc/yum.repos.d/mlnx-opt.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/mlnx-opt.repo && \
yum makecache

RUN echo "${_LOGIN} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
mkdir -p ${_HOME} && \
groupadd -f -g "$_GID" "$_LOGIN" && \
useradd -u "$_UID" -g "$_GID" -s /bin/bash -m -d ${_HOME} "${_LOGIN}" && \
chown -R ${_LOGIN} ${_HOME}

RUN yum install --allowerasing -y \
git autoconf automake libtool gcc \
sudo gcc-c++ libibverbs-devel rdma-core \
librdmacm unzip patch wget make \
libnl3-devel rpm-build
37 changes: 37 additions & 0 deletions .ci/dockerfiles/Dockerfile.rhel9.4
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
ARG HARBOR_URL=nbu-harbor.gtm.nvidia.com
ARG ARCH=x86_64
FROM $HARBOR_URL/swx-infra/media/$ARCH/base/rhel:9.4
ARG WEBREPO_URL=webrepo.gtm.nvidia.com
ARG ARCH
ARG _UID=6213
ARG _GID=101
ARG _LOGIN=swx-jenkins
ARG _HOME=/var/home/$_LOGIN

RUN sed -i "s#http://webrepo#http://${WEBREPO_URL}#" /etc/yum.repos.d/* && \
sed -i 's/mirrorlist/#mirrorlist/;s!#baseurl=http://mirror.centos.org!baseurl=http://vault.centos.org!' /etc/yum.repos.d/* && \
echo "[mlnx-9.4-BaseOS]" > /etc/yum.repos.d/mlnx-9.4-BaseOS.repo && \
echo "name=RHEL 9.4 mirror BaseOS" >> /etc/yum.repos.d/mlnx-9.4-BaseOS.repo && \
echo "baseurl=http://${WEBREPO_URL}/RH/9.4/$ARCH/BaseOS/" >> /etc/yum.repos.d/mlnx-9.4-BaseOS.repo && \
echo "enabled=1" >> /etc/yum.repos.d/mlnx-9.4-BaseOS.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/mlnx-9.4-BaseOS.repo && \
echo "[mlnx-9.4-AppStream]" > /etc/yum.repos.d/mlnx-9.4-AppStream.repo && \
echo "name=RHEL 9.4 mirror AppStream" >> /etc/yum.repos.d/mlnx-9.4-AppStream.repo && \
echo "baseurl=http://${WEBREPO_URL}/RH/9.4/$ARCH/AppStream/" >> /etc/yum.repos.d/mlnx-9.4-AppStream.repo && \
echo "enabled=1" >> /etc/yum.repos.d/mlnx-9.4-AppStream.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/mlnx-9.4-AppStream.repo && \
yum makecache

RUN echo "${_LOGIN} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
mkdir -p ${_HOME} && \
groupadd -f -g "$_GID" "$_LOGIN" && \
useradd -u "$_UID" -g "$_GID" -s /bin/bash -m -d ${_HOME} "${_LOGIN}" && \
chown -R ${_LOGIN} ${_HOME}

RUN dnf install --allowerasing -y \
git autoconf automake libtool gcc \
sudo gcc-c++ libibverbs-devel rdma-core \
librdmacm unzip patch wget make \
libnl3-devel rpm-build && \
dnf clean all && rm -rf /var/cache/dnf/*
21 changes: 21 additions & 0 deletions .ci/dockerfiles/Dockerfile.rhel9.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
ARG HARBOR_URL=nbu-harbor.gtm.nvidia.com
ARG ARCH=x86_64
ARG OS_VERSION=9.6

FROM $HARBOR_URL/swx-infra/media/$ARCH/base/rhel:$OS_VERSION
ARG _UID=6213
ARG _GID=101
ARG _LOGIN=swx-jenkins
ARG _HOME=/var/home/$_LOGIN
RUN echo "${_LOGIN} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
mkdir -p ${_HOME} && \
groupadd -f -g "$_GID" "$_LOGIN" && \
useradd -u "$_UID" -g "$_GID" -s /bin/bash -m -d ${_HOME} "${_LOGIN}" && \
chown -R ${_LOGIN} ${_HOME}

RUN dnf install --allowerasing -y json-c-devel curl \
autoconf automake make libtool \
gcc-c++ diffutils rpm-build \
&& dnf clean all \
&& rm -rf /var/cache/dnf
37 changes: 37 additions & 0 deletions .ci/fedora_matrix_job.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
job: LIBVMA

timeout_minutes: 30

registry_host: nbu-harbor.gtm.nvidia.com
registry_auth: swx-infra_harbor_credentials
registry_path: /swx-infra/media

kubernetes:
privileged: true
cloud: il-ipp-blossom-prod
namespace: swx-media
nodeSelector: 'beta.kubernetes.io/os=linux'
limits: '{memory: 8Gi, cpu: 8000m}'
requests: '{memory: 8Gi, cpu: 8000m}'
arch_table:
x86_64:
nodeSelector: 'kubernetes.io/arch=amd64'
jnlpImage: '${registry_host}/toolbox/c3po-jnlp:latest'

runs_on_dockers:
- {name: 'fedora-rawhide', file: '.ci/dockerfiles/Dockerfile.fedora-rawhide', uri: 'vma/$arch/$name', arch: 'x86_64', tag: '20260420', build_args: '--no-cache --pull'}

matrix:
axes:
flags:
- default

steps:
- name: Build
run: |
env WORKSPACE=$PWD TARGET=${flags} jenkins_test_build=yes ./contrib/test_jenkins.sh
onfail: |
./.ci/artifacts.sh
archiveArtifacts-onfail: |
jenkins/**/arch-*.tar.gz
Loading