Skip to content
Draft
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
9180daf
import build scripts
cinterloper Sep 11, 2025
af3504d
ubuntu and debian builds, redhat needs devel packages
cinterloper Sep 12, 2025
2a00167
disable redhat for sign step
cinterloper Sep 12, 2025
2fe0f4b
matrix arm/x86
cinterloper Sep 12, 2025
aac3cf6
debian 13 support
cinterloper Sep 12, 2025
2800497
amazon linux 2023
cinterloper Sep 12, 2025
c3bfec2
fix amazon linux build
cinterloper Sep 12, 2025
4719b0b
quote version
cinterloper Sep 13, 2025
5dff088
pin shared-workflows to commit
cinterloper Sep 13, 2025
c3f5d47
use debugging build of shared workflows
cinterloper Sep 13, 2025
3eeea4f
use main branch
cinterloper Sep 15, 2025
ae63909
debug
cinterloper Sep 15, 2025
8f9f0ca
debug
cinterloper Sep 15, 2025
75a43b9
debug shared-workflows
cinterloper Sep 15, 2025
695c6cb
use shared-workflows debug branch
cinterloper Sep 15, 2025
d3d601c
merge
cinterloper Sep 15, 2025
a961faf
remove version variable setting
cinterloper Sep 15, 2025
15303ad
remove VERSION usage
cinterloper Sep 15, 2025
f4990fb
pin to last main commit
cinterloper Sep 15, 2025
00577f0
build redhat deps from source
cinterloper Sep 16, 2025
184474f
macos with jfrog
cinterloper Sep 18, 2025
0bd8520
fix typo
cinterloper Sep 18, 2025
6f0ec38
override cmake version requirement
cinterloper Sep 23, 2025
3d98640
remove version override option from --build
cinterloper Sep 23, 2025
566e739
matrix bundle job
cinterloper Sep 23, 2025
9451377
backport fix for mac build
cinterloper Sep 23, 2025
5d957d0
update redhat build
cinterloper Sep 23, 2025
062b7b2
fix redhat 9 build
cinterloper Sep 26, 2025
321d78e
matrix redhat 9
cinterloper Sep 26, 2025
6d9270c
fix aws el8 el9 builds
cinterloper Sep 26, 2025
701be2f
matrix el8
cinterloper Sep 26, 2025
372176e
use faster mirror
cinterloper Sep 26, 2025
8dbf665
parallel make aws library
cinterloper Sep 26, 2025
b1a82c1
trigger mac build on branch
cinterloper Sep 26, 2025
b4e3bf2
add mac pkg makefile, change retention days to 7
cinterloper Sep 30, 2025
af49c9e
standardize build script to fix git version issue, disable redhat 8 d…
cinterloper Oct 15, 2025
1505d22
cleanup dockerfiles
cinterloper Oct 15, 2025
b038918
pin to specific version of readline
cinterloper Oct 16, 2025
c9c0b89
Add support for Rhel 10 and remove support for Debian 11.
pvinh-spike Oct 16, 2025
0046f3b
Add test for Rhel 10.
pvinh-spike Oct 16, 2025
8da03f7
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
8287d96
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
1c8d232
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
4c9405b
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
25c183c
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
e013383
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
52e42d7
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
d6bcd08
pin versions of fpm and redhat
cinterloper Oct 17, 2025
0028ae8
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
928b687
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
3a5a182
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
cf17a5c
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
3170636
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
da7e41a
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
a5a5e72
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
625af64
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
bee2c67
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
764e35f
Fix rhel10 build issue.
pvinh-spike Oct 17, 2025
752e2da
Clean up.
pvinh-spike Oct 17, 2025
164adcc
remove arm, not supported in private repos, meta package arch indepen…
cinterloper Oct 18, 2025
896b634
Revert "remove arm, not supported in private repos, meta package arch…
cinterloper Oct 18, 2025
e14fa9e
prefix package name with aerospike-
cinterloper Oct 18, 2025
d9bf2f5
Merge remote-tracking branch 'origin/master' into SERVER-216
cinterloper Oct 21, 2025
06acabc
Merge remote-tracking branch 'origin/SERVER-216' into SERVER-312
cinterloper Oct 21, 2025
91d0916
disable redhat 10
cinterloper Oct 21, 2025
c8b6228
remove new mac build for now
cinterloper Oct 21, 2025
4ab4ac9
ubi -> redhat | amazon
cinterloper Oct 22, 2025
d79e8cf
remove old tests
cinterloper Oct 22, 2025
8fd4ac3
match rpm naming conventions
cinterloper Oct 22, 2025
de092ff
correct workflow file for rpm naming conventions
cinterloper Oct 22, 2025
ceffda5
correct rpm naming conventions
cinterloper Oct 22, 2025
862b845
amazon -> amzn
cinterloper Oct 22, 2025
05c99e6
correct package name
cinterloper Oct 22, 2025
d6d494e
Merge branch 'SERVER-216' into SERVER-312
cinterloper Oct 22, 2025
8f2bad1
correct naming convention
cinterloper Oct 22, 2025
4cd5bd8
add dependency
cinterloper Oct 23, 2025
7e4065d
add libuv dependency
cinterloper Oct 23, 2025
5e301b0
add tests
cinterloper Oct 23, 2025
a90e0f9
Delete .github/docker/test/test_package.sh
cinterloper Oct 23, 2025
59852e3
remove source removed file
cinterloper Oct 23, 2025
f16541b
refactor to use server-packaging-common
cinterloper Oct 31, 2025
464970f
disable debian13 and el10
cinterloper Oct 31, 2025
0d5f202
update dependency
cinterloper Nov 6, 2025
b1328a7
execute tests that pull from jfrog in ci
cinterloper Nov 6, 2025
916dd29
attempt to speed up redhat static dependency builds
cinterloper Nov 6, 2025
adb3ea6
update packaging common
cinterloper Nov 7, 2025
c3efdcb
Merge remote-tracking branch 'origin/master' into SERVER-216
cinterloper Nov 10, 2025
ad860c2
split compile and install functions, improve concurrency
cinterloper Nov 10, 2025
3811187
fix some fpm install lines
cinterloper Nov 10, 2025
c98fba1
update packaging common
cinterloper Nov 11, 2025
415aa42
update common
cinterloper Nov 11, 2025
88302ac
update common
cinterloper Nov 11, 2025
1be1992
update common
cinterloper Nov 12, 2025
c847370
update for renamed common repo
cinterloper Nov 12, 2025
588c737
Merge remote-tracking branch 'origin/dev/SERVER-216' into dev/SERVER-216
cinterloper Nov 12, 2025
81c9059
remove old module
cinterloper Nov 14, 2025
f2d30a6
update git common module, re-enable debian13
cinterloper Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/docker/Dockerfile-amazon-2023
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FROM amazonlinux:2023
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]

RUN dnf install -y shadow-utils && useradd -u 9001 -m build

ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_amazon-2023
ADD --chown=build:build . /opt/asbackup
USER build

WORKDIR /opt/asbackup
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
16 changes: 16 additions & 0 deletions .github/docker/Dockerfile-debian11
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM debian:bullseye
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd -u 9001 -m build

RUN apt -y update
ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_debian11

ADD --chown=build:build . /opt/asbackup
WORKDIR /opt/asbackup
USER build
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
17 changes: 17 additions & 0 deletions .github/docker/Dockerfile-debian12
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM debian:bookworm
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd -u 9001 -m build

RUN apt -y update

ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_debian12

ADD --chown=build:build . /opt/asbackup
WORKDIR /opt/asbackup
USER build
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
17 changes: 17 additions & 0 deletions .github/docker/Dockerfile-debian13
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM debian:trixie
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd -u 9001 -m build

RUN apt -y update

ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_debian12

ADD --chown=build:build . /opt/asbackup
WORKDIR /opt/asbackup
USER build
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
14 changes: 14 additions & 0 deletions .github/docker/Dockerfile-redhat-el8
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM redhat/ubi8
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
RUN useradd -u 9001 -m build

ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_redhat-ubi8
ADD --chown=build:build . /opt/asbackup
USER build

WORKDIR /opt/asbackup
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
14 changes: 14 additions & 0 deletions .github/docker/Dockerfile-redhat-el9
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM redhat/ubi9
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
RUN useradd -u 9001 -m build

ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_redhat-ubi9
ADD --chown=build:build . /opt/asbackup
USER build

WORKDIR /opt/asbackup
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
17 changes: 17 additions & 0 deletions .github/docker/Dockerfile-ubuntu20.04
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM ubuntu:20.04
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd -u 9001 -m build

RUN apt -y update
ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_ubuntu20.04


ADD --chown=build:build . /opt/asbackup
WORKDIR /opt/asbackup
USER build
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
17 changes: 17 additions & 0 deletions .github/docker/Dockerfile-ubuntu22.04
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM ubuntu:22.04
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd -u 9001 -m build

RUN apt -y update
ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_ubuntu22.04


ADD --chown=build:build . /opt/asbackup
WORKDIR /opt/asbackup
USER build
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
18 changes: 18 additions & 0 deletions .github/docker/Dockerfile-ubuntu24.04
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM ubuntu:24.04
SHELL ["/bin/bash", "-euox", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive

RUN useradd -u 9001 -m build

RUN apt -y update
ADD .github/docker/entrypoint.sh /tmp/entrypoint.sh
ADD .github/docker/install_deps.sh /tmp/install_deps.sh

RUN source /tmp/install_deps.sh && install_deps_ubuntu24.04


ADD --chown=build:build . /opt/asbackup
WORKDIR /opt/asbackup
USER build
ENTRYPOINT ["/opt/asbackup/.github/docker/entrypoint.sh"]
CMD ["-b"]
26 changes: 26 additions & 0 deletions .github/docker/build_package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
alias make='make -j8'
function build_packages(){
if [ "$ENV_DISTRO" = "" ]; then
echo "ENV_DISTRO is not set"
return
fi
cd "$GIT_DIR"
git submodule update --init --recursive
export ARCH=$(uname -m)
make EVENT_LIB=libuv ZSTD_STATIC_PATH=/usr/lib/$ARCH-linux-gnu AWS_SDK_STATIC_PATH=/usr/local/lib CURL_STATIC_PATH=/usr/local/lib OPENSSL_STATIC_PATH=/usr/lib/$ARCH-linux-gnu LIBUV_STATIC_PATH=/usr/local/lib JANSSON_STATIC_PATH=/usr/lib/$ARCH-linux-gnu
cd $PKG_DIR
echo "building package for $BUILD_DISTRO"

if [[ $ENV_DISTRO == *"ubuntu"* ]]; then
make deb
elif [[ $ENV_DISTRO == *"debian"* ]]; then
make deb
elif [[ $ENV_DISTRO == *"ubi"* ]]; then
make rpm
else
make tar
fi

mkdir -p /tmp/output/$ENV_DISTRO
cp -a $PKG_DIR/target/* /tmp/output/$ENV_DISTRO
}
167 changes: 167 additions & 0 deletions .github/docker/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
#!/usr/bin/env bash
set -xeuo pipefail
env
VERSION=$(git rev-parse HEAD | cut -c -8)

SCRIPT_DIR="$(dirname "$(realpath "$0")")"



source $SCRIPT_DIR/build_package.sh

if [ -d ".git" ]; then
GIT_DIR=$(pwd)
PKG_DIR=$GIT_DIR/pkg
fi



function build_container() {
docker build --progress=plain -t asbackup-pkg-builder-"$1"-"$VERSION" -f .github/docker/Dockerfile-"$1" .
}


function execute_build_image() {
export BUILD_DISTRO="$1"
docker run -e BUILD_DISTRO -v $(realpath ../dist):/tmp/output asbackup-pkg-builder-"$BUILD_DISTRO"-"$VERSION"
ls -laht ../dist
}

INSTALL=false
BUILD_INTERNAL=false
BUILD_CONTAINERS=false
EXECUTE_BUILD=false
BUILD_DISTRO=${BUILD_DISTRO:-"all"}

while getopts "ibced:" opt; do
case ${opt} in
i )
INSTALL=true
;;
b )
BUILD_INTERNAL=true
;;
c )
BUILD_CONTAINERS=true
;;
e )
EXECUTE_BUILD=true
;;
d )
BUILD_DISTRO="$OPTARG"
;;
esac
done

shift $((OPTIND -1))

if [ "$INSTALL" = false ] && [ "$BUILD_INTERNAL" = false ] && [ "$BUILD_CONTAINERS" = false ] && [ "$EXECUTE_BUILD" = false ];
then
echo """Error: Options:
-i ( install )
-b ( build internal )
-c ( build containers )
-e ( execute docker package build )
-d [ redhat | ubuntu | debian ]""" 1>&2
exit 1
fi

if grep -q 20.04 /etc/os-release; then
ENV_DISTRO="ubuntu20.04"
elif grep -q 22.04 /etc/os-release; then
ENV_DISTRO="ubuntu22.04"
elif grep -q 24.04 /etc/os-release; then
ENV_DISTRO="ubuntu24.04"
elif grep -q "platform:el8" /etc/os-release; then
ENV_DISTRO="redhat-el8"
elif grep -q "platform:el9" /etc/os-release; then
ENV_DISTRO="redhat-el9"
elif grep -q "amazon_linux:2023" /etc/os-release; then
ENV_DISTRO="amazon-2023"
elif grep -q "bullseye" /etc/os-release; then
ENV_DISTRO="debian11"
elif grep -q "bookworm" /etc/os-release; then
ENV_DISTRO="debian12"
elif grep -q "trixie" /etc/os-release; then
ENV_DISTRO="debian13"
else
cat /etc/os-release
echo "os not supported"
fi


if [ "$INSTALL" = "true" ]; then
if [ "$ENV_DISTRO" = "ubuntu20.04" ]; then
echo "installing dependencies for Ubuntu 20.04"
install_deps_ubuntu20.04
elif [ "$ENV_DISTRO" = "ubuntu22.04" ]; then
echo "installing dependencies for Ubuntu 22.04"
install_deps_ubuntu22.04
elif [ "$ENV_DISTRO" = "ubuntu24.04" ]; then
echo "installing dependencies for Ubuntu 24.04"
install_deps_ubuntu24.04
elif [ "$ENV_DISTRO" = "redhat-el8" ]; then
echo "installing dependencies for RedHat el8"
install_deps_redhat-el8
elif [ "$ENV_DISTRO" = "redhat-el9" ]; then
echo "installing dependencies for RedHat el9"
install_deps_redhat-el9
elif [ "$ENV_DISTRO" = "amazon-2023" ]; then
echo "installing dependencies for Amazon 2023"
install_deps_redhat-amazon-2023
elif [ "$ENV_DISTRO" = "debian11" ]; then
echo "installing dependencies for Debian 11"
install_deps_debian11
elif [ "$ENV_DISTRO" = "debian12" ]; then
echo "installing dependencies for Debian 12"
install_deps_debian12
elif [ "$ENV_DISTRO" = "debian13" ]; then
echo "installing dependencies for Debian 13"
install_deps_debian13
else
cat /etc/os-release
echo "distro not supported"
fi
elif [ "$BUILD_INTERNAL" = "true" ]; then
build_packages
elif [ "$BUILD_CONTAINERS" = "true" ]; then
if [ "$BUILD_DISTRO" = "all" ]; then
build_container debian11
build_container debian12
build_container debian13
build_container ubuntu20.04
build_container ubuntu22.04
build_container ubuntu24.04
build_container redhat-el8
build_container redhat-el9
build_container amazon-2023
else
build_container $BUILD_DISTRO
fi
fi

if [ "$EXECUTE_BUILD" = "true" ]; then
if [ "$BUILD_DISTRO" = "all" ]; then
echo "building package for Debian 11"
execute_build_image debian11
echo "building package for Debian 12"
execute_build_image debian12
echo "building package for Debian 13"
execute_build_image debian13
echo "building package for Ubuntu 20.04"
execute_build_image ubuntu20.04
echo "building package for Ubuntu 22.04"
execute_build_image ubuntu22.04
echo "building package for Ubuntu 24.04"
execute_build_image ubuntu24.04
echo "building package for RedHat el8"
execute_build_image redhat-el8
echo "building package for RedHat el9"
execute_build_image redhat-el9
echo "building package for Amazon 2023"
execute_build_image amazon-2023
else
echo "building package for $BUILD_DISTRO"
execute_build_image $BUILD_DISTRO
fi
fi
Loading
Loading