Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .github/packaging/common
Submodule common added at fa4318
40 changes: 40 additions & 0 deletions .github/packaging/project/build_package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -xeuo pipefail

function build_packages(){
if [ "$ENV_DISTRO" = "" ]; then
echo "ENV_DISTRO is not set"
return
fi
export PATH=$PATH:/opt/golang/go/bin
GIT_DIR=$(git rev-parse --show-toplevel)

# build
cd "$GIT_DIR" || exit 1
make clean
make

echo "build_package.sh version: $(git describe --tags --always)"
VERSION=$(git describe --tags --always)
export VERSION

# package
cd $GIT_DIR/pkg || exit 1
make clean
echo "building package for $BUILD_DISTRO"

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

mkdir -p /tmp/output/"$ENV_DISTRO"
cp -a "$GIT_DIR"/pkg/target/* /tmp/output/"$ENV_DISTRO"
}
11 changes: 11 additions & 0 deletions .github/packaging/project/gha-main.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -xeuo pipefail
DISTRO="$1"
cd local
git fetch --unshallow --tags --no-recurse-submodules
git submodule update --init
ls -laht
git branch -v
.github/packaging/common/entrypoint.sh -c -d $DISTRO
.github/packaging/common/entrypoint.sh -e -d $DISTRO
ls -laht ../dist
174 changes: 174 additions & 0 deletions .github/packaging/project/install_deps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
#!/usr/bin/env bash
set -xeuo pipefail

function install_deps_debian11() {
apt -y install ruby-rubygems make rpm git snapd curl binutils

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_debian12() {
apt -y install ruby-rubygems make rpm git snapd curl binutils

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_debian13() {
apt -y install ruby-rubygems make rpm git snapd curl binutils

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_ubuntu20.04() {
apt -y install ruby make rpm git snapd curl binutils

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_ubuntu22.04() {
apt -y install ruby-rubygems make rpm git snapd curl binutils

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_ubuntu24.04() {
apt -y install ruby-rubygems make rpm git snapd curl binutils

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_el8() {
dnf module enable -y ruby:2.7
dnf -y install ruby ruby-devel redhat-rpm-config rubygems rpm-build make git
gem install --no-document fpm

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_el9() {
dnf -y install ruby rpmdevtools make git

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_el10() {
dnf -y install ruby rpmdevtools make git

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}

function install_deps_amzn2023() {
dnf -y install ruby rpmdevtools make git

if [ "$(uname -m)" = "x86_64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-amd64.tar.gz -o /tmp/go1.24.6.linux-amd64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-amd64.tar.gz -C /opt/golang
elif [ "$(uname -m)" = "aarch64" ]; then
curl -L https://go.dev/dl/go1.24.6.linux-arm64.tar.gz -o /tmp/go1.24.6.linux-arm64.tar.gz
mkdir -p /opt/golang && tar -zxvf /tmp/go1.24.6.linux-arm64.tar.gz -C /opt/golang
else
echo "unknown arch $(uname -m)"
exit 1
fi
install /opt/golang/go/bin/go /usr/local/bin/
gem install fpm -v 1.17.0
}
6 changes: 6 additions & 0 deletions .github/packaging/project/test/gha-test-main.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -xeuo pipefail
DISTRO="$1"
REPO_NAME="$2"
git fetch --unshallow --tags --no-recurse-submodules
.github/packaging/common/example-test.sh "$DISTRO" "$REPO_NAME"
6 changes: 6 additions & 0 deletions .github/packaging/project/test/test_execute.bats
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bats

@test "can run asconfig" {
asconfig --help
[ "$?" -eq 0 ]
}
Loading
Loading