aboutsummaryrefslogtreecommitdiff
path: root/contrib/ci/jobs
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ci/jobs')
-rwxr-xr-xcontrib/ci/jobs/0-build/build.sh10
-rwxr-xr-xcontrib/ci/jobs/0-build/job.sh6
-rwxr-xr-xcontrib/ci/jobs/2-deb-package/job.sh22
-rwxr-xr-xcontrib/ci/jobs/2-deb-package/version.sh17
-rw-r--r--contrib/ci/jobs/3-deploy-package/config.ini6
-rwxr-xr-xcontrib/ci/jobs/3-deploy-package/job.sh14
-rwxr-xr-xcontrib/ci/jobs/4-arm64-build/build.sh11
-rw-r--r--contrib/ci/jobs/4-arm64-build/config.ini6
-rwxr-xr-xcontrib/ci/jobs/4-arm64-build/job.sh6
-rw-r--r--contrib/ci/jobs/5-arm64-deb-package/config.ini6
-rwxr-xr-xcontrib/ci/jobs/5-arm64-deb-package/job.sh22
-rwxr-xr-xcontrib/ci/jobs/5-arm64-deb-package/version.sh17
-rw-r--r--contrib/ci/jobs/6-arm64-deploy-package/config.ini6
-rwxr-xr-xcontrib/ci/jobs/6-arm64-deploy-package/job.sh14
14 files changed, 163 insertions, 0 deletions
diff --git a/contrib/ci/jobs/0-build/build.sh b/contrib/ci/jobs/0-build/build.sh
new file mode 100755
index 000000000..a5a89ca82
--- /dev/null
+++ b/contrib/ci/jobs/0-build/build.sh
@@ -0,0 +1,10 @@
1#!/bin/bash
2set -exuo pipefail
3
4./bootstrap
5./configure CFLAGS="-ggdb -O0" \
6 --enable-logging=verbose \
7 --disable-doc
8
9make -j $(nproc)
10make install
diff --git a/contrib/ci/jobs/0-build/job.sh b/contrib/ci/jobs/0-build/job.sh
new file mode 100755
index 000000000..8d79902c5
--- /dev/null
+++ b/contrib/ci/jobs/0-build/job.sh
@@ -0,0 +1,6 @@
1#!/bin/bash
2set -exuo pipefail
3
4job_dir=$(dirname "${BASH_SOURCE[0]}")
5
6"${job_dir}"/build.sh
diff --git a/contrib/ci/jobs/2-deb-package/job.sh b/contrib/ci/jobs/2-deb-package/job.sh
new file mode 100755
index 000000000..00ded9323
--- /dev/null
+++ b/contrib/ci/jobs/2-deb-package/job.sh
@@ -0,0 +1,22 @@
1#!/bin/bash
2set -exuo pipefail
3# This file is in the public domain.
4# Helper script to build the latest DEB packages in the container.
5
6
7unset LD_LIBRARY_PATH
8
9# Install build-time dependencies.
10# Update apt cache first
11apt-get update
12mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
13
14export VERSION="$(./contrib/ci/jobs/2-deb-package/version.sh)"
15echo "Building gnunet packages version ${VERSION}"
16EMAIL=none gbp dch --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}"
17./bootstrap
18dpkg-buildpackage -rfakeroot -b -uc -us
19
20ls -alh ../*.deb
21mkdir -p /artifacts/gnunet/${CI_COMMIT_REF} # Variable comes from CI environment
22mv ../*.deb /artifacts/gnunet/${CI_COMMIT_REF}/
diff --git a/contrib/ci/jobs/2-deb-package/version.sh b/contrib/ci/jobs/2-deb-package/version.sh
new file mode 100755
index 000000000..b12ca77ba
--- /dev/null
+++ b/contrib/ci/jobs/2-deb-package/version.sh
@@ -0,0 +1,17 @@
1#!/bin/sh
2set -ex
3
4BRANCH=$(git name-rev --name-only HEAD)
5if [ -z "${BRANCH}" ]; then
6 exit 1
7else
8 # "Unshallow" our checkout, but only our current branch, and exclude the submodules.
9 git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}"
10 RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-*dev*' --always --abbrev=0 HEAD || exit 1)
11 commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)"
12 if [ "${commits}" = "0" ]; then
13 git describe --tag HEAD | sed -r 's/^v//' || exit 1
14 else
15 echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD)
16 fi
17fi
diff --git a/contrib/ci/jobs/3-deploy-package/config.ini b/contrib/ci/jobs/3-deploy-package/config.ini
new file mode 100644
index 000000000..08c106f9c
--- /dev/null
+++ b/contrib/ci/jobs/3-deploy-package/config.ini
@@ -0,0 +1,6 @@
1[build]
2HALT_ON_FAILURE = True
3WARN_ON_FAILURE = True
4CONTAINER_BUILD = False
5CONTAINER_NAME = nixery.dev/shell/rsync
6CONTAINER_ARCH = amd64
diff --git a/contrib/ci/jobs/3-deploy-package/job.sh b/contrib/ci/jobs/3-deploy-package/job.sh
new file mode 100755
index 000000000..d53588a0f
--- /dev/null
+++ b/contrib/ci/jobs/3-deploy-package/job.sh
@@ -0,0 +1,14 @@
1#!/bin/bash
2set -exuo pipefail
3
4ARTIFACT_PATH="/artifacts/gnunet/${CI_COMMIT_REF}/*.deb"
5
6RSYNC_HOST="taler.host.internal"
7RSYNC_PORT=424242
8RSYNC_PATH="incoming_packages/bookworm-taler-ci/"
9RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}"
10
11
12rsync -vP \
13 --port ${RSYNC_PORT} \
14 ${ARTIFACT_PATH} ${RSYNC_DEST}
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..7da9d4a75
--- /dev/null
+++ b/contrib/ci/jobs/4-arm64-build/build.sh
@@ -0,0 +1,11 @@
1#!/bin/bash
2set -exuo pipefail
3
4make clean
5./bootstrap
6./configure CFLAGS="-ggdb -O0" \
7 --enable-logging=verbose \
8 --disable-doc
9
10make -j $(nproc)
11make 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 @@
1[build]
2HALT_ON_FAILURE = True
3WARN_ON_FAILURE = True
4CONTAINER_BUILD = True
5CONTAINER_NAME = gnunet:arm64
6CONTAINER_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 @@
1#!/bin/bash
2set -exuo pipefail
3
4job_dir=$(dirname "${BASH_SOURCE[0]}")
5
6"${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 @@
1[build]
2HALT_ON_FAILURE = True
3WARN_ON_FAILURE = True
4CONTAINER_BUILD = True
5CONTAINER_NAME = gnunet:arm64
6CONTAINER_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..00ded9323
--- /dev/null
+++ b/contrib/ci/jobs/5-arm64-deb-package/job.sh
@@ -0,0 +1,22 @@
1#!/bin/bash
2set -exuo pipefail
3# This file is in the public domain.
4# Helper script to build the latest DEB packages in the container.
5
6
7unset LD_LIBRARY_PATH
8
9# Install build-time dependencies.
10# Update apt cache first
11apt-get update
12mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
13
14export VERSION="$(./contrib/ci/jobs/2-deb-package/version.sh)"
15echo "Building gnunet packages version ${VERSION}"
16EMAIL=none gbp dch --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}"
17./bootstrap
18dpkg-buildpackage -rfakeroot -b -uc -us
19
20ls -alh ../*.deb
21mkdir -p /artifacts/gnunet/${CI_COMMIT_REF} # Variable comes from CI environment
22mv ../*.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..b12ca77ba
--- /dev/null
+++ b/contrib/ci/jobs/5-arm64-deb-package/version.sh
@@ -0,0 +1,17 @@
1#!/bin/sh
2set -ex
3
4BRANCH=$(git name-rev --name-only HEAD)
5if [ -z "${BRANCH}" ]; then
6 exit 1
7else
8 # "Unshallow" our checkout, but only our current branch, and exclude the submodules.
9 git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}"
10 RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-*dev*' --always --abbrev=0 HEAD || exit 1)
11 commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)"
12 if [ "${commits}" = "0" ]; then
13 git describe --tag HEAD | sed -r 's/^v//' || exit 1
14 else
15 echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD)
16 fi
17fi
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 @@
1[build]
2HALT_ON_FAILURE = True
3WARN_ON_FAILURE = True
4CONTAINER_BUILD = False
5CONTAINER_NAME = nixery.dev/shell/rsync
6CONTAINER_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 @@
1#!/bin/bash
2set -exuo pipefail
3
4ARTIFACT_PATH="/artifacts/gnunet/${CI_COMMIT_REF}/*.deb"
5
6RSYNC_HOST="taler.host.internal"
7RSYNC_PORT=424242
8RSYNC_PATH="incoming_packages/bookworm-taler-ci/"
9RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}"
10
11
12rsync -vP \
13 --port ${RSYNC_PORT} \
14 ${ARTIFACT_PATH} ${RSYNC_DEST}