gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-sandcastle-ng] branch master updated (c6476cd -> b54fd91)


From: gnunet
Subject: [taler-sandcastle-ng] branch master updated (c6476cd -> b54fd91)
Date: Sat, 17 Feb 2024 05:33:28 +0100

This is an automated email from the git hooks/post-receive script.

devan-carpenter pushed a change to branch master
in repository sandcastle-ng.

    from c6476cd  bump versions
     new 88a8da0  ci: add jobs to build and deploy container image
     new b54fd91  ci: version the saved image

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 contrib/ci/Containerfile            | 12 ++++++++++++
 contrib/ci/ci.sh                    | 36 ++++++++++++++++++++++++++++++++++++
 contrib/ci/jobs/0-build/build.sh    | 10 ++++++++++
 contrib/ci/jobs/0-build/job.sh      |  6 ++++++
 contrib/ci/jobs/1-deploy/config.ini |  6 ++++++
 contrib/ci/jobs/1-deploy/job.sh     | 14 ++++++++++++++
 6 files changed, 84 insertions(+)
 create mode 100644 contrib/ci/Containerfile
 create mode 100755 contrib/ci/ci.sh
 create mode 100755 contrib/ci/jobs/0-build/build.sh
 create mode 100755 contrib/ci/jobs/0-build/job.sh
 create mode 100644 contrib/ci/jobs/1-deploy/config.ini
 create mode 100755 contrib/ci/jobs/1-deploy/job.sh

diff --git a/contrib/ci/Containerfile b/contrib/ci/Containerfile
new file mode 100644
index 0000000..7e09fa3
--- /dev/null
+++ b/contrib/ci/Containerfile
@@ -0,0 +1,12 @@
+FROM docker.io/library/debian:bookworm
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+ADD 
https://github.com/containers/podman/releases/download/v4.3.1/podman-remote-static.tar.gz
 /tmp/podman-remote-static.tar.gz
+RUN tar -xvzf /tmp/podman-remote-static.tar.gz -C /usr/bin/ && \
+    rm -f /tmp/podman-remote-static.tar.gz && \
+    ln -s /usr/bin/podman-remote-static /usr/bin/podman
+
+WORKDIR /workdir
+
+CMD ["/usr/bin/bash"]
diff --git a/contrib/ci/ci.sh b/contrib/ci/ci.sh
new file mode 100755
index 0000000..3c946d4
--- /dev/null
+++ b/contrib/ci/ci.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+set -exvuo pipefail
+
+# Requires podman
+# Fails if not found in PATH
+OCI_RUNTIME=$(which podman)
+REPO_NAME=$(basename "${PWD}")
+JOB_NAME="${1}"
+JOB_ARCH=$((grep CONTAINER_ARCH contrib/ci/jobs/${JOB_NAME}/config.ini | cut 
-d' ' -f 3) || echo "${2:-amd64}")
+JOB_CONTAINER=$((grep CONTAINER_NAME contrib/ci/jobs/${JOB_NAME}/config.ini | 
cut -d' ' -f 3) || echo "localhost/${REPO_NAME}:${JOB_ARCH}")
+CONTAINER_BUILD=$((grep CONTAINER_BUILD contrib/ci/jobs/${JOB_NAME}/config.ini 
| cut -d' ' -f 3) || echo "True")
+
+echo "Image name: ${JOB_CONTAINER}"
+
+if [ "${CONTAINER_BUILD}" = "True" ] ; then
+       "${OCI_RUNTIME}" build \
+               --arch "${JOB_ARCH}" \
+               -t "${JOB_CONTAINER}" \
+               -f contrib/ci/Containerfile .
+fi
+
+"${OCI_RUNTIME}" run \
+       -v /run/user/$UID/podman/podman.sock:/run/podman/podman.sock \
+       --security-opt label=disable \
+       --rm \
+       -ti \
+       --arch "${JOB_ARCH}" \
+       --env CI_COMMIT_REF="$(git rev-parse HEAD)" \
+       --volume "${PWD}":/workdir \
+       --workdir /workdir \
+       "${JOB_CONTAINER}" \
+       contrib/ci/jobs/"${JOB_NAME}"/job.sh
+
+top_dir=$(dirname "${BASH_SOURCE[0]}")
+
+#"${top_dir}"/build.sh
diff --git a/contrib/ci/jobs/0-build/build.sh b/contrib/ci/jobs/0-build/build.sh
new file mode 100755
index 0000000..2f24a32
--- /dev/null
+++ b/contrib/ci/jobs/0-build/build.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+set -exuo pipefail
+
+./sandcastle-build
+
+mkdir -p /artifacts/sandcastle-ng/${CI_COMMIT_REF} # Variable comes from CI 
environment
+podman tag taler-base-all:latest taler-base-all:${CI_COMMIT_REF}
+podman save \
+       -o 
/artifacts/sandcastle-ng/${CI_COMMIT_REF}/taler-base-all-${CI_COMMIT_REF}.tar \
+       taler-base-all:${CI_COMMIT_REF}
diff --git a/contrib/ci/jobs/0-build/job.sh b/contrib/ci/jobs/0-build/job.sh
new file mode 100755
index 0000000..8d79902
--- /dev/null
+++ b/contrib/ci/jobs/0-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/1-deploy/config.ini 
b/contrib/ci/jobs/1-deploy/config.ini
new file mode 100644
index 0000000..08c106f
--- /dev/null
+++ b/contrib/ci/jobs/1-deploy/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 = amd64
diff --git a/contrib/ci/jobs/1-deploy/job.sh b/contrib/ci/jobs/1-deploy/job.sh
new file mode 100755
index 0000000..062abc1
--- /dev/null
+++ b/contrib/ci/jobs/1-deploy/job.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -exuo pipefail
+
+ARTIFACT_PATH="/artifacts/sandcastle-ng/${CI_COMMIT_REF}/*.tar"
+
+RSYNC_HOST="taler.host.internal"
+RSYNC_PORT=424240
+RSYNC_PATH="incoming"
+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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]