From 67d9f31390ae255002fb832d20ebe425bef6af7b Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Mon, 5 Jun 2023 22:06:25 +0000 Subject: T5261: Jenkins build package aws-gwlbtun Add Jenkins job to build AWS gateway load-balancer tunnel handler .deb package --- packages/aws-gwlbtun/.gitignore | 1 + packages/aws-gwlbtun/Jenkinsfile | 30 ++++++++++++++++++++++++++++++ packages/aws-gwlbtun/build.sh | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 packages/aws-gwlbtun/.gitignore create mode 100644 packages/aws-gwlbtun/Jenkinsfile create mode 100755 packages/aws-gwlbtun/build.sh diff --git a/packages/aws-gwlbtun/.gitignore b/packages/aws-gwlbtun/.gitignore new file mode 100644 index 00000000..a3e428dc --- /dev/null +++ b/packages/aws-gwlbtun/.gitignore @@ -0,0 +1 @@ +aws-gwlbtun/ diff --git a/packages/aws-gwlbtun/Jenkinsfile b/packages/aws-gwlbtun/Jenkinsfile new file mode 100644 index 00000000..006c13bf --- /dev/null +++ b/packages/aws-gwlbtun/Jenkinsfile @@ -0,0 +1,30 @@ +// Copyright (C) 2023 VyOS maintainers and contributors +// +// This program is free software; you can redistribute it and/or modify +// in order to easy exprort images built to "external" world +// it under the terms of the GNU General Public License version 2 or later as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +@NonCPS + +// Using a version specifier library, use 'current' branch. The underscore (_) +// is not a typo! You need this underscore if the line immediately after the +// @Library annotation is not an import statement! +@Library('vyos-build@current')_ + +def pkgList = [ + ['name': 'aws-gwlbtun', + 'scmCommit': 'eb51d33', + 'scmUrl': 'https://github.com/aws-samples/aws-gateway-load-balancer-tunnel-handler', + 'buildCmd': 'cd ..; ./build.sh'], +] + +// Start package build using library function from https://github.com/vyos/vyos-build +buildPackage('aws-gwlbtun', pkgList, null, true, "**/packages/aws-gwlbtun/**") diff --git a/packages/aws-gwlbtun/build.sh b/packages/aws-gwlbtun/build.sh new file mode 100755 index 00000000..d4feb6ac --- /dev/null +++ b/packages/aws-gwlbtun/build.sh @@ -0,0 +1,38 @@ +#!/bin/bash +CWD=$(pwd) +set -e + +SRC=aws-gateway-load-balancer-tunnel-handler + +if [ ! -d ${SRC} ]; then + echo "${SRC} directory does not exists, please 'git clone'" + exit 1 +fi + +# Navigate to the repository directory +cd ${SRC} + +# Build the binary +cmake . +make + +# Create the Debian package directory structure +mkdir -p aws-gwlbtun/DEBIAN +mkdir -p aws-gwlbtun/usr/bin + +# Move the binary to the package directory +cp gwlbtun aws-gwlbtun/usr/bin + +# Create the control file +cat < aws-gwlbtun/DEBIAN/control +Package: aws-gwlbtun +Version: 1-eb51d33 +Architecture: amd64 +Maintainer: VyOS Maintainers autobuild@vyos.net +Description: AWS Gateway Load Balancer Tunnel Handler +EOL + +# Build the Debian package +dpkg-deb --build aws-gwlbtun + +cp *.deb ${CWD} -- cgit v1.2.3