Skip to content

Commit 38ba5ae

Browse files
committed
SERVER-216
1 parent 490f5cd commit 38ba5ae

File tree

12 files changed

+612
-10
lines changed

12 files changed

+612
-10
lines changed

.github/packaging/common

Submodule common added at fa4318f
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env bash
2+
set -xeuo pipefail
3+
4+
function build_packages(){
5+
if [ "$ENV_DISTRO" = "" ]; then
6+
echo "ENV_DISTRO is not set"
7+
return
8+
fi
9+
export PATH=$PATH:/opt/golang/go/bin
10+
GIT_DIR=$(git rev-parse --show-toplevel)
11+
12+
# build
13+
cd "$GIT_DIR" || exit 1
14+
make clean
15+
make
16+
17+
echo "build_package.sh version: $(git describe --tags --always)"
18+
VERSION=$(git describe --tags --always)
19+
export VERSION
20+
21+
# package
22+
cd $GIT_DIR/pkg || exit 1
23+
make clean
24+
echo "building package for $BUILD_DISTRO"
25+
26+
if [[ "$ENV_DISTRO" == *"ubuntu"* ]]; then
27+
make deb
28+
elif [[ "$ENV_DISTRO" == *"debian"* ]]; then
29+
make deb
30+
elif [[ "$ENV_DISTRO" == *"el"* ]]; then
31+
make rpm
32+
elif [[ "$ENV_DISTRO" == *"amzn"* ]]; then
33+
make rpm
34+
else
35+
make tar
36+
fi
37+
38+
mkdir -p /tmp/output/"$ENV_DISTRO"
39+
cp -a "$GIT_DIR"/pkg/target/* /tmp/output/"$ENV_DISTRO"
40+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/usr/bin/env bash
2+
set -xeuo pipefail
3+
DISTRO="$1"
4+
env
5+
cd local
6+
git fetch --unshallow --tags --no-recurse-submodules
7+
git submodule update --init
8+
ls -laht
9+
git branch -v
10+
.github/packaging/common/entrypoint.sh -c -d $DISTRO
11+
.github/packaging/common/entrypoint.sh -e -d $DISTRO
12+
ls -laht ../dist
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
#!/usr/bin/env bash
2+
set -xeuo pipefail
3+
4+
function install_deps_debian11() {
5+
apt -y install ruby-rubygems make rpm git snapd curl binutils
6+
7+
if [ "$(uname -m)" = "x86_64" ]; then
8+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
9+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
10+
elif [ "$(uname -m)" = "aarch64" ]; then
11+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
12+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
13+
else
14+
echo "unknown arch $(uname -m)"
15+
exit 1
16+
fi
17+
install /opt/golang/go/bin/go /usr/local/bin/
18+
gem install fpm -v 1.17.0
19+
}
20+
21+
function install_deps_debian12() {
22+
apt -y install ruby-rubygems make rpm git snapd curl binutils
23+
24+
if [ "$(uname -m)" = "x86_64" ]; then
25+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
26+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
27+
elif [ "$(uname -m)" = "aarch64" ]; then
28+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
29+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
30+
else
31+
echo "unknown arch $(uname -m)"
32+
exit 1
33+
fi
34+
install /opt/golang/go/bin/go /usr/local/bin/
35+
gem install fpm -v 1.17.0
36+
}
37+
38+
function install_deps_debian13() {
39+
apt -y install ruby-rubygems make rpm git snapd curl binutils
40+
41+
if [ "$(uname -m)" = "x86_64" ]; then
42+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
43+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
44+
elif [ "$(uname -m)" = "aarch64" ]; then
45+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
46+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
47+
else
48+
echo "unknown arch $(uname -m)"
49+
exit 1
50+
fi
51+
install /opt/golang/go/bin/go /usr/local/bin/
52+
gem install fpm -v 1.17.0
53+
}
54+
55+
function install_deps_ubuntu20.04() {
56+
apt -y install ruby make rpm git snapd curl binutils
57+
58+
if [ "$(uname -m)" = "x86_64" ]; then
59+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
60+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
61+
elif [ "$(uname -m)" = "aarch64" ]; then
62+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
63+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
64+
else
65+
echo "unknown arch $(uname -m)"
66+
exit 1
67+
fi
68+
install /opt/golang/go/bin/go /usr/local/bin/
69+
gem install fpm -v 1.17.0
70+
}
71+
72+
function install_deps_ubuntu22.04() {
73+
apt -y install ruby-rubygems make rpm git snapd curl binutils
74+
75+
if [ "$(uname -m)" = "x86_64" ]; then
76+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
77+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
78+
elif [ "$(uname -m)" = "aarch64" ]; then
79+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
80+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
81+
else
82+
echo "unknown arch $(uname -m)"
83+
exit 1
84+
fi
85+
install /opt/golang/go/bin/go /usr/local/bin/
86+
gem install fpm -v 1.17.0
87+
}
88+
89+
function install_deps_ubuntu24.04() {
90+
apt -y install ruby-rubygems make rpm git snapd curl binutils
91+
92+
if [ "$(uname -m)" = "x86_64" ]; then
93+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
94+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
95+
elif [ "$(uname -m)" = "aarch64" ]; then
96+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
97+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
98+
else
99+
echo "unknown arch $(uname -m)"
100+
exit 1
101+
fi
102+
install /opt/golang/go/bin/go /usr/local/bin/
103+
gem install fpm -v 1.17.0
104+
}
105+
106+
function install_deps_el8() {
107+
dnf module enable -y ruby:2.7
108+
dnf -y install ruby ruby-devel redhat-rpm-config rubygems rpm-build make git
109+
gem install --no-document fpm
110+
111+
if [ "$(uname -m)" = "x86_64" ]; then
112+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
113+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
114+
elif [ "$(uname -m)" = "aarch64" ]; then
115+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
116+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
117+
else
118+
echo "unknown arch $(uname -m)"
119+
exit 1
120+
fi
121+
install /opt/golang/go/bin/go /usr/local/bin/
122+
gem install fpm -v 1.17.0
123+
}
124+
125+
function install_deps_el9() {
126+
dnf -y install ruby rpmdevtools make git
127+
128+
if [ "$(uname -m)" = "x86_64" ]; then
129+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
130+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
131+
elif [ "$(uname -m)" = "aarch64" ]; then
132+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
133+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
134+
else
135+
echo "unknown arch $(uname -m)"
136+
exit 1
137+
fi
138+
install /opt/golang/go/bin/go /usr/local/bin/
139+
gem install fpm -v 1.17.0
140+
}
141+
142+
function install_deps_el10() {
143+
dnf -y install ruby rpmdevtools make git
144+
145+
if [ "$(uname -m)" = "x86_64" ]; then
146+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
147+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
148+
elif [ "$(uname -m)" = "aarch64" ]; then
149+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
150+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
151+
else
152+
echo "unknown arch $(uname -m)"
153+
exit 1
154+
fi
155+
install /opt/golang/go/bin/go /usr/local/bin/
156+
gem install fpm -v 1.17.0
157+
}
158+
159+
function install_deps_amzn2023() {
160+
dnf -y install ruby rpmdevtools make git
161+
162+
if [ "$(uname -m)" = "x86_64" ]; then
163+
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
164+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
165+
elif [ "$(uname -m)" = "aarch64" ]; then
166+
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
167+
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
168+
else
169+
echo "unknown arch $(uname -m)"
170+
exit 1
171+
fi
172+
install /opt/golang/go/bin/go /usr/local/bin/
173+
gem install fpm -v 1.17.0
174+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/usr/bin/env bash
2+
set -xeuo pipefail
3+
DISTRO="$1"
4+
REPO_NAME="$2"
5+
env
6+
git fetch --unshallow --tags --no-recurse-submodules
7+
.github/packaging/common/example-test.sh "$DISTRO" "$REPO_NAME"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bats
2+
3+
@test "can run asconfig" {
4+
asconfig --help
5+
[ "$?" -eq 0 ]
6+
}

0 commit comments

Comments
 (0)