ansible-taler-exchange

Ansible playbook to deploy a production Taler Exchange
Log | Files | Refs | Submodules | README | LICENSE

ci.sh (1314B)


      1 #!/bin/bash
      2 set -exvuo pipefail
      3 
      4 # Requires podman
      5 # Fails if not found in PATH
      6 OCI_RUNTIME=$(which podman)
      7 REPO_NAME=$(basename "${PWD}")
      8 JOB_NAME="${1}"
      9 JOB_ARCH=$((grep CONTAINER_ARCH contrib/ci/jobs/${JOB_NAME}/config.ini | cut -d' ' -f 3) || echo "${2:-amd64}")
     10 JOB_CONTAINER=$((grep CONTAINER_NAME contrib/ci/jobs/${JOB_NAME}/config.ini | cut -d' ' -f 3) || echo "localhost/${REPO_NAME}:${JOB_ARCH}")
     11 CONTAINER_BUILD=$((grep CONTAINER_BUILD contrib/ci/jobs/${JOB_NAME}/config.ini | cut -d' ' -f 3) || echo "True")
     12 CONTAINERFILE="contrib/ci/jobs/${JOB_NAME}/Containerfile"
     13 
     14 if ! [[ -f "$CONTAINERFILE" ]]; then
     15 	CONTAINERFILE="contrib/ci/$JOB_ARCH.Containerfile"
     16 fi;
     17 if ! [[ -f "$CONTAINERFILE" ]]; then
     18 	CONTAINERFILE="$(dirname "$CONTAINERFILE")/Containerfile"
     19 fi;
     20 
     21 echo "Image name: ${JOB_CONTAINER}
     22 Containerfile: ${CONTAINERFILE}"
     23 
     24 if [ "${CONTAINER_BUILD}" = "True" ] ; then
     25 	"${OCI_RUNTIME}" build \
     26 		--arch "${JOB_ARCH}" \
     27 		-t "${JOB_CONTAINER}" \
     28 		-f "$CONTAINERFILE" .
     29 fi
     30 
     31 "${OCI_RUNTIME}" run \
     32 	--rm \
     33 	-ti \
     34 	--arch "${JOB_ARCH}" \
     35 	--env CI_COMMIT_REF="$(git rev-parse HEAD)" \
     36 	--volume "${PWD}":/workdir \
     37 	--cap-add SYS_ADMIN,CAP_SYS_CHROOT \
     38 	--workdir /workdir \
     39 	"${JOB_CONTAINER}" \
     40 	contrib/ci/jobs/"${JOB_NAME}"/job.sh
     41 
     42 top_dir=$(dirname "${BASH_SOURCE[0]}")
     43 
     44 #"${top_dir}"/build.sh