ci.sh (1096B)
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 13 echo "Image name: ${JOB_CONTAINER}" 14 15 if [ "${CONTAINER_BUILD}" = "True" ] ; then 16 "${OCI_RUNTIME}" build \ 17 --arch "${JOB_ARCH}" \ 18 -t "${JOB_CONTAINER}" \ 19 -f contrib/ci/Containerfile . 20 fi 21 22 "${OCI_RUNTIME}" run \ 23 -v /run/user/$UID/podman/podman.sock:/run/podman/podman.sock \ 24 --security-opt label=disable \ 25 --rm \ 26 -ti \ 27 --arch "${JOB_ARCH}" \ 28 --env CI_COMMIT_REF="$(git rev-parse HEAD)" \ 29 --volume "${PWD}":/workdir \ 30 --workdir /workdir \ 31 "${JOB_CONTAINER}" \ 32 contrib/ci/jobs/"${JOB_NAME}"/job.sh 33 34 top_dir=$(dirname "${BASH_SOURCE[0]}") 35 36 #"${top_dir}"/build.sh