[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] 01/04: ci: add arm64 package build and deploy
From: |
gnunet |
Subject: |
[gnunet] 01/04: ci: add arm64 package build and deploy |
Date: |
Tue, 28 Nov 2023 06:20:22 +0100 |
This is an automated email from the git hooks/post-receive script.
dvn pushed a commit to branch master
in repository gnunet.
commit ee0c0b198570be488816713363d777e89ea3dd88
Author: Devan Carpenter <git@dvn.me>
AuthorDate: Thu Nov 23 00:18:13 2023 -0500
ci: add arm64 package build and deploy
---
contrib/ci/jobs/4-arm64-build/build.sh | 10 ++++++++++
contrib/ci/jobs/4-arm64-build/config.ini | 6 ++++++
contrib/ci/jobs/4-arm64-build/job.sh | 6 ++++++
contrib/ci/jobs/5-arm64-deb-package/config.ini | 6 ++++++
contrib/ci/jobs/5-arm64-deb-package/job.sh | 22 ++++++++++++++++++++++
contrib/ci/jobs/5-arm64-deb-package/version.sh | 12 ++++++++++++
contrib/ci/jobs/6-arm64-deploy-package/config.ini | 6 ++++++
contrib/ci/jobs/6-arm64-deploy-package/job.sh | 14 ++++++++++++++
8 files changed, 82 insertions(+)
diff --git a/contrib/ci/jobs/4-arm64-build/build.sh
b/contrib/ci/jobs/4-arm64-build/build.sh
new file mode 100755
index 000000000..a5a89ca82
--- /dev/null
+++ b/contrib/ci/jobs/4-arm64-build/build.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+set -exuo pipefail
+
+./bootstrap
+./configure CFLAGS="-ggdb -O0" \
+ --enable-logging=verbose \
+ --disable-doc
+
+make -j $(nproc)
+make install
diff --git a/contrib/ci/jobs/4-arm64-build/config.ini
b/contrib/ci/jobs/4-arm64-build/config.ini
new file mode 100644
index 000000000..b5b4b5fe7
--- /dev/null
+++ b/contrib/ci/jobs/4-arm64-build/config.ini
@@ -0,0 +1,6 @@
+[build]
+HALT_ON_FAILURE = True
+WARN_ON_FAILURE = True
+CONTAINER_BUILD = True
+CONTAINER_NAME = gnunet:arm64
+CONTAINER_ARCH = arm64
diff --git a/contrib/ci/jobs/4-arm64-build/job.sh
b/contrib/ci/jobs/4-arm64-build/job.sh
new file mode 100755
index 000000000..8d79902c5
--- /dev/null
+++ b/contrib/ci/jobs/4-arm64-build/job.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -exuo pipefail
+
+job_dir=$(dirname "${BASH_SOURCE[0]}")
+
+"${job_dir}"/build.sh
diff --git a/contrib/ci/jobs/5-arm64-deb-package/config.ini
b/contrib/ci/jobs/5-arm64-deb-package/config.ini
new file mode 100644
index 000000000..b5b4b5fe7
--- /dev/null
+++ b/contrib/ci/jobs/5-arm64-deb-package/config.ini
@@ -0,0 +1,6 @@
+[build]
+HALT_ON_FAILURE = True
+WARN_ON_FAILURE = True
+CONTAINER_BUILD = True
+CONTAINER_NAME = gnunet:arm64
+CONTAINER_ARCH = arm64
diff --git a/contrib/ci/jobs/5-arm64-deb-package/job.sh
b/contrib/ci/jobs/5-arm64-deb-package/job.sh
new file mode 100755
index 000000000..fc1f114f4
--- /dev/null
+++ b/contrib/ci/jobs/5-arm64-deb-package/job.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -exuo pipefail
+# This file is in the public domain.
+# Helper script to build the latest DEB packages in the container.
+
+
+unset LD_LIBRARY_PATH
+
+# Install build-time dependencies.
+# Update apt cache first
+apt-get update
+mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes
--no-install-recommends --yes' debian/control
+
+export VERSION="$(./ci/jobs/2-deb-package/version.sh)"
+echo "Building gnunet packages version ${VERSION}"
+EMAIL=none gbp dch --ignore-branch --debian-tag="%(version)s" --git-author
--new-version="${VERSION}"
+./bootstrap
+dpkg-buildpackage -rfakeroot -b -uc -us
+
+ls -alh ../*.deb
+mkdir -p /artifacts/gnunet/${CI_COMMIT_REF} # Variable comes from CI
environment
+mv ../*.deb /artifacts/gnunet/${CI_COMMIT_REF}/
diff --git a/contrib/ci/jobs/5-arm64-deb-package/version.sh
b/contrib/ci/jobs/5-arm64-deb-package/version.sh
new file mode 100755
index 000000000..74d0099a2
--- /dev/null
+++ b/contrib/ci/jobs/5-arm64-deb-package/version.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -ex
+
+git fetch origin $(git rev-parse --abbrev-ref HEAD) --depth=1000 --tags
+RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --always --abbrev=0
HEAD)
+
+commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)"
+if [ "${commits}" = "0" ]; then
+ git describe --tag HEAD
+else
+ echo $(echo ${RECENT_VERSION_TAG} | cut -d'v' -f2)-${commits}-$(git
rev-parse --short=8 HEAD)
+fi
diff --git a/contrib/ci/jobs/6-arm64-deploy-package/config.ini
b/contrib/ci/jobs/6-arm64-deploy-package/config.ini
new file mode 100644
index 000000000..a8ad1c16d
--- /dev/null
+++ b/contrib/ci/jobs/6-arm64-deploy-package/config.ini
@@ -0,0 +1,6 @@
+[build]
+HALT_ON_FAILURE = True
+WARN_ON_FAILURE = True
+CONTAINER_BUILD = False
+CONTAINER_NAME = nixery.dev/shell/rsync
+CONTAINER_ARCH = arm64
diff --git a/contrib/ci/jobs/6-arm64-deploy-package/job.sh
b/contrib/ci/jobs/6-arm64-deploy-package/job.sh
new file mode 100755
index 000000000..d53588a0f
--- /dev/null
+++ b/contrib/ci/jobs/6-arm64-deploy-package/job.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -exuo pipefail
+
+ARTIFACT_PATH="/artifacts/gnunet/${CI_COMMIT_REF}/*.deb"
+
+RSYNC_HOST="taler.host.internal"
+RSYNC_PORT=424242
+RSYNC_PATH="incoming_packages/bookworm-taler-ci/"
+RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}"
+
+
+rsync -vP \
+ --port ${RSYNC_PORT} \
+ ${ARTIFACT_PATH} ${RSYNC_DEST}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.