diff options
author | Devan Carpenter <git@dvn.me> | 2023-11-23 00:18:13 -0500 |
---|---|---|
committer | Devan Carpenter <git@dvn.me> | 2023-11-27 22:44:56 -0500 |
commit | ee0c0b198570be488816713363d777e89ea3dd88 (patch) | |
tree | 81ef289f5ba87947dd04dddc1e9bb89580cc9c49 | |
parent | 1c0df659e61217f1adf7be8b105a97b181142b1b (diff) | |
download | gnunet-ee0c0b198570be488816713363d777e89ea3dd88.tar.gz gnunet-ee0c0b198570be488816713363d777e89ea3dd88.zip |
ci: add arm64 package build and deploy
-rwxr-xr-x | contrib/ci/jobs/4-arm64-build/build.sh | 10 | ||||
-rw-r--r-- | contrib/ci/jobs/4-arm64-build/config.ini | 6 | ||||
-rwxr-xr-x | contrib/ci/jobs/4-arm64-build/job.sh | 6 | ||||
-rw-r--r-- | contrib/ci/jobs/5-arm64-deb-package/config.ini | 6 | ||||
-rwxr-xr-x | contrib/ci/jobs/5-arm64-deb-package/job.sh | 22 | ||||
-rwxr-xr-x | contrib/ci/jobs/5-arm64-deb-package/version.sh | 12 | ||||
-rw-r--r-- | contrib/ci/jobs/6-arm64-deploy-package/config.ini | 6 | ||||
-rwxr-xr-x | contrib/ci/jobs/6-arm64-deploy-package/job.sh | 14 |
8 files changed, 82 insertions, 0 deletions
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 @@ | |||
1 | #!/bin/bash | ||
2 | set -exuo pipefail | ||
3 | |||
4 | ./bootstrap | ||
5 | ./configure CFLAGS="-ggdb -O0" \ | ||
6 | --enable-logging=verbose \ | ||
7 | --disable-doc | ||
8 | |||
9 | make -j $(nproc) | ||
10 | 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 @@ | |||
1 | [build] | ||
2 | HALT_ON_FAILURE = True | ||
3 | WARN_ON_FAILURE = True | ||
4 | CONTAINER_BUILD = True | ||
5 | CONTAINER_NAME = gnunet:arm64 | ||
6 | 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 @@ | |||
1 | #!/bin/bash | ||
2 | set -exuo pipefail | ||
3 | |||
4 | job_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] | ||
2 | HALT_ON_FAILURE = True | ||
3 | WARN_ON_FAILURE = True | ||
4 | CONTAINER_BUILD = True | ||
5 | CONTAINER_NAME = gnunet:arm64 | ||
6 | 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 @@ | |||
1 | #!/bin/bash | ||
2 | set -exuo pipefail | ||
3 | # This file is in the public domain. | ||
4 | # Helper script to build the latest DEB packages in the container. | ||
5 | |||
6 | |||
7 | unset LD_LIBRARY_PATH | ||
8 | |||
9 | # Install build-time dependencies. | ||
10 | # Update apt cache first | ||
11 | apt-get update | ||
12 | mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control | ||
13 | |||
14 | export VERSION="$(./ci/jobs/2-deb-package/version.sh)" | ||
15 | echo "Building gnunet packages version ${VERSION}" | ||
16 | EMAIL=none gbp dch --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" | ||
17 | ./bootstrap | ||
18 | dpkg-buildpackage -rfakeroot -b -uc -us | ||
19 | |||
20 | ls -alh ../*.deb | ||
21 | mkdir -p /artifacts/gnunet/${CI_COMMIT_REF} # Variable comes from CI environment | ||
22 | 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 @@ | |||
1 | #!/bin/sh | ||
2 | set -ex | ||
3 | |||
4 | git fetch origin $(git rev-parse --abbrev-ref HEAD) --depth=1000 --tags | ||
5 | RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --always --abbrev=0 HEAD) | ||
6 | |||
7 | commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" | ||
8 | if [ "${commits}" = "0" ]; then | ||
9 | git describe --tag HEAD | ||
10 | else | ||
11 | echo $(echo ${RECENT_VERSION_TAG} | cut -d'v' -f2)-${commits}-$(git rev-parse --short=8 HEAD) | ||
12 | 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 @@ | |||
1 | [build] | ||
2 | HALT_ON_FAILURE = True | ||
3 | WARN_ON_FAILURE = True | ||
4 | CONTAINER_BUILD = False | ||
5 | CONTAINER_NAME = nixery.dev/shell/rsync | ||
6 | 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 @@ | |||
1 | #!/bin/bash | ||
2 | set -exuo pipefail | ||
3 | |||
4 | ARTIFACT_PATH="/artifacts/gnunet/${CI_COMMIT_REF}/*.deb" | ||
5 | |||
6 | RSYNC_HOST="taler.host.internal" | ||
7 | RSYNC_PORT=424242 | ||
8 | RSYNC_PATH="incoming_packages/bookworm-taler-ci/" | ||
9 | RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}" | ||
10 | |||
11 | |||
12 | rsync -vP \ | ||
13 | --port ${RSYNC_PORT} \ | ||
14 | ${ARTIFACT_PATH} ${RSYNC_DEST} | ||