diff --git a/ci/utils/build_docker_image.sh b/ci/utils/build_docker_image.sh index b027dbb5a90cfc81aab341c89f6d5b8f5532dbc5..da9408dfac03eabb4c481ee41dc9ea64ec111033 100755 --- a/ci/utils/build_docker_image.sh +++ b/ci/utils/build_docker_image.sh @@ -18,5 +18,6 @@ set -feu -o pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" NTHREADS="$(nproc)" UBUNTU_RELEASE=${1:-jammy} +GRICAD_REGISTRY_URL='gricad-registry.univ-grenoble-alpes.fr' -docker build --rm=true --build-arg "NTHREADS=$NTHREADS" -t "gricad-registry.univ-grenoble-alpes.fr/particle_methods/hysop:${UBUNTU_RELEASE}" -f "${SCRIPT_DIR}/../docker_images/ubuntu/${UBUNTU_RELEASE}/Dockerfile" "${SCRIPT_DIR}/../.." +docker build --rm=true --build-arg "NTHREADS=$NTHREADS" -t "${GRICAD_REGISTRY_URL}/particle_methods/hysop:${UBUNTU_RELEASE}" -f "${SCRIPT_DIR}/../docker_images/ubuntu/${UBUNTU_RELEASE}/Dockerfile" "${SCRIPT_DIR}/../.." diff --git a/ci/utils/pull_docker_image.sh b/ci/utils/pull_docker_image.sh index 1973a2b0f7885af8cf375af24aa0240209a6a832..c77068138f910ce51891b1a16d25780030509f36 100755 --- a/ci/utils/pull_docker_image.sh +++ b/ci/utils/pull_docker_image.sh @@ -16,5 +16,11 @@ ## set -euf -o pipefail UBUNTU_RELEASE=${1:-jammy} +GRICAD_REGISTRY_URL='gricad-registry.univ-grenoble-alpes.fr' docker logout -docker pull "gricad-registry.univ-grenoble-alpes.fr/particle_methods/hysop:${UBUNTU_RELEASE}" +if [[ -z "${GRICAD_USERNAME}" ]] || [[ -z "${GRICAD_REGISTRY_TOKEN}" ]]; then + docker login "${GRICAD_REGISTRY_URL}" +else + echo "${GRICAD_REGISTRY_TOKEN}" | docker login "${GRICAD_REGISTRY_URL}" --username "${GRICAD_USERNAME}" --password-stdin +fi +docker pull "${GRICAD_REGISTRY_URL}/particle_methods/hysop:${UBUNTU_RELEASE}" diff --git a/ci/utils/push_docker_image.sh b/ci/utils/push_docker_image.sh index d7e66df59b66f98d7bf888174e3d4511956ca856..06d50ffaeb1162dbe69dc82e5ccdfc722732b758 100755 --- a/ci/utils/push_docker_image.sh +++ b/ci/utils/push_docker_image.sh @@ -16,6 +16,12 @@ ## set -euf -o pipefail UBUNTU_RELEASE=${1:-jammy} -docker login gricad-registry.univ-grenoble-alpes.fr -docker push "gricad-registry.univ-grenoble-alpes.fr/particle_methods/hysop:${UBUNTU_RELEASE}" +GRICAD_REGISTRY_URL='gricad-registry.univ-grenoble-alpes.fr' +docker logout +if [[ -z "${GRICAD_USERNAME}" ]] || [[ -z "${GRICAD_REGISTRY_TOKEN}" ]]; then + docker login "${GRICAD_REGISTRY_URL}" +else + echo "${GRICAD_REGISTRY_TOKEN}" | docker login "${GRICAD_REGISTRY_URL}" --username "${GRICAD_USERNAME}" --password-stdin +fi +docker push "${GRICAD_REGISTRY_URL}/particle_methods/hysop:${UBUNTU_RELEASE}" docker logout diff --git a/ci/utils/run_ci.sh b/ci/utils/run_ci.sh index 6a122bece22ea12d4576be6d87ecd7a5ba5dc718..bc9f751400120bdccde48d9e22d37b75c6018728 100755 --- a/ci/utils/run_ci.sh +++ b/ci/utils/run_ci.sh @@ -17,9 +17,16 @@ set -feu -o pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" UBUNTU_RELEASE=${1:-jammy} -DOCKER_IMG="gricad-registry.univ-grenoble-alpes.fr/particle_methods/hysop:${UBUNTU_RELEASE}" +GRICAD_REGISTRY_URL='gricad-registry.univ-grenoble-alpes.fr' +DOCKER_IMG="${GRICAD_REGISTRY_URL}/particle_methods/hysop:${UBUNTU_RELEASE}" CONTAINER_ID='hysop_build_and_test' +if [[ $UBUNTU_RELEASE == *_cuda ]]; then + EXTRA_ARGS="--gpus all" +else + EXTRA_ARGS="" +fi + function remove_img() { docker stop "${CONTAINER_ID}" || true docker rm "${CONTAINER_ID}" || true @@ -28,7 +35,7 @@ trap remove_img INT TERM EXIT KILL remove_img -docker create --cap-add=SYS_PTRACE -v "${SCRIPT_DIR}/../..:/hysop:ro" --name="${CONTAINER_ID}" -it "${DOCKER_IMG}" +docker create --cap-add=SYS_PTRACE ${EXTRA_ARGS} -v "${SCRIPT_DIR}/../..:/hysop:ro" --name="${CONTAINER_ID}" -it "${DOCKER_IMG}" docker start "${CONTAINER_ID}" diff --git a/ci/utils/run_debug.sh b/ci/utils/run_debug.sh index d9e3519d188d2b8cb4cfd3d5abbb960009edea86..7bf8c66921b9df907906ffae4b7524b099b4ab1f 100755 --- a/ci/utils/run_debug.sh +++ b/ci/utils/run_debug.sh @@ -17,9 +17,16 @@ set -feu -o pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" UBUNTU_RELEASE=${1:-jammy} -DOCKER_IMG="gricad-registry.univ-grenoble-alpes.fr/particle_methods/hysop:${UBUNTU_RELEASE}" +GRICAD_REGISTRY_URL='gricad-registry.univ-grenoble-alpes.fr' +DOCKER_IMG="${GRICAD_REGISTRY_URL}/particle_methods/hysop:${UBUNTU_RELEASE}" CONTAINER_ID='hysop_build_and_debug' +if [[ $UBUNTU_RELEASE == *_cuda ]]; then + EXTRA_ARGS="--gpus all" +else + EXTRA_ARGS="" +fi + function remove_img() { docker stop "${CONTAINER_ID}" || true docker rm "${CONTAINER_ID}" || true @@ -28,7 +35,7 @@ trap remove_img INT TERM EXIT KILL remove_img -docker create --cap-add=SYS_PTRACE -v "${SCRIPT_DIR}/../..:/hysop:ro" --name="${CONTAINER_ID}" -it "${DOCKER_IMG}" +docker create --cap-add=SYS_PTRACE ${EXTRA_ARGS} -v "${SCRIPT_DIR}/../..:/hysop:ro" --name="${CONTAINER_ID}" -it "${DOCKER_IMG}" docker start "${CONTAINER_ID}" diff --git a/ci/utils/run_docker_image.sh b/ci/utils/run_docker_image.sh index c563b4378ed7604741da1392814d5955c89342c3..2372adf32483b5b4ddab14fc6d0ae15e07c8e5f8 100755 --- a/ci/utils/run_docker_image.sh +++ b/ci/utils/run_docker_image.sh @@ -17,4 +17,12 @@ set -feu -o pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" UBUNTU_RELEASE=${1:-jammy} -docker run --cap-add=SYS_PTRACE -it -v "${SCRIPT_DIR}/../..:/hysop:ro" "gricad-registry.univ-grenoble-alpes.fr/particle_methods/hysop:${UBUNTU_RELEASE}" +GRICAD_REGISTRY_URL='gricad-registry.univ-grenoble-alpes.fr' + +if [[ $UBUNTU_RELEASE == *_cuda ]]; then + EXTRA_ARGS="--gpus all" +else + EXTRA_ARGS="" +fi + +docker run --cap-add=SYS_PTRACE ${EXTRA_ARGS} -it -v "${SCRIPT_DIR}/../..:/hysop:ro" "${GRICAD_REGISTRY_URL}/particle_methods/hysop:${UBUNTU_RELEASE}"