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