From 84dc489bbda7c6ad253cceb186fb21b9c33f03a6 Mon Sep 17 00:00:00 2001 From: Jonathan Lifflander Date: Mon, 10 Mar 2025 08:09:11 -0700 Subject: [PATCH 1/9] #16: workflows: start sketching some changes --- ci/build-setup.py | 3 +- ci/docker/base.dockerfile | 14 +++++- ci/setup-basic.sh | 57 +++++++++++++++++++++ ci/shared/scripts/deps/mpich.sh | 2 +- docker-bake.hcl | 88 +++++++++++++++++++++++++++++++++ 5 files changed, 159 insertions(+), 5 deletions(-) create mode 100644 ci/setup-basic.sh create mode 100644 docker-bake.hcl diff --git a/ci/build-setup.py b/ci/build-setup.py index 5ba3aca4..a201bb71 100755 --- a/ci/build-setup.py +++ b/ci/build-setup.py @@ -74,8 +74,7 @@ def build(self): setup_script = setup_script.replace("%DEPS_INSTALL%", '\n'.join(instructions)) setup_filename = f"setup-{setup_id}.sh" - setup_filepath = os.path.join(os.path.dirname(__file__), - "shared", "scripts", setup_filename) + setup_filepath = os.path.join(os.path.dirname(__file__), setup_filename) with open(setup_filepath, "w+", encoding="utf-8") as f: f.write(setup_script) diff --git a/ci/docker/base.dockerfile b/ci/docker/base.dockerfile index a037b6e4..06a13c8f 100644 --- a/ci/docker/base.dockerfile +++ b/ci/docker/base.dockerfile @@ -1,5 +1,6 @@ # Base dockerfile to build images used in Darma testing. +ARG REPO=lifflander1/vt ARG ARCH=amd64 ARG BASE=ubuntu:22.04 @@ -73,8 +74,17 @@ ENV CMPLR_ROOT=$CMPLR_ROOT \ LIBRARY_PATH=$LIBRARY_PATH \ LD_LIBRARY_PATH=$LD_LIBRARY_PATH -COPY ci/shared/scripts/setup-${SETUP_ID}.sh ${WF_TMP_DIR}/setup.sh -RUN chmod +x ${WF_TMP_DIR}/setup.sh && . ${WF_TMP_DIR}/setup.sh + +COPY ci/setup-basic.sh ${WF_TMP_DIR} +RUN chmod +x ${WF_TMP_DIR}/setup-basic.sh && . ${WF_TMP_DIR}/setup-basic.sh + +COPY ci/config.yaml ${WF_TMP_DIR} +COPY ci/build-setup.py ${WF_TMP_DIR} +COPY ci/util.py ${WF_TMP_DIR} +COPY ci/setup-template.sh ${WF_TMP_DIR} +RUN python3 ${WF_TMP_DIR}/build-setup.py ${REPO}:wf-${SETUP_ID} + +RUN chmod +x ${WF_TMP_DIR}/setup-${SETUP_ID}.sh && . ${WF_TMP_DIR}/setup-${SETUP_ID}.sh # Clean RUN rm -rf $WF_TMP_DIR diff --git a/ci/setup-basic.sh b/ci/setup-basic.sh new file mode 100644 index 00000000..ba049ba4 --- /dev/null +++ b/ci/setup-basic.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env sh + +# Basic universal setup script + +WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} +WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} + +echo "------------- Setup --------------" + +OS= +OS_VERSION= +UNAME=$(uname) +WF_DOCKER=${WF_DOCKER:-"0"} +if [ "$UNAME" = "Darwin" ] +then + OS_NAME=$(sw_vers -productName) + OS_VERSION=$(sw_vers -productVersion) +elif [ "$UNAME" = "Linux" ] +then + OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') + OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') +fi + +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "WF_DOCKER=$WF_DOCKER" +echo "PATH=$PATH" +echo "CPATH=$CPATH" +echo "LIBRARY_PATH=$LIBRARY_PATH" +echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +echo "----------------------------------" + +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" +{ + echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" + echo "export WF_DOCKER=\"$WF_DOCKER\"" + echo "export OS_NAME=\"$OS_NAME\"" + echo "export OS_VERSION=\"$OS_VERSION\"" +} >> ~/.setuprc + +### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "-- Installing Core packages ($OS_NAME)..." +if [ "$OS_NAME" = "Ubuntu" ] +then + apt-get update -y -q + apt-get install -y -q --no-install-recommends ca-certificates wget git python3 python3-yaml +elif [ "$OS_NAME" = "Alpine Linux" ] +then + apk update + apk add --no-cache wget git bash python3 python3-yaml +elif [ "$OS_NAME" = "macOS" ] +then + brew update +else + echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" + exit 1 +fi diff --git a/ci/shared/scripts/deps/mpich.sh b/ci/shared/scripts/deps/mpich.sh index ad0a8412..62e8f4a7 100644 --- a/ci/shared/scripts/deps/mpich.sh +++ b/ci/shared/scripts/deps/mpich.sh @@ -19,7 +19,7 @@ echo "${mpich_name}" echo "${mpich_tar_name}" echo "${make_flags}" -wget http://www.mpich.org/static/downloads/${mpich_version}/${mpich_tar_name} +wget --no-check-certificate http://www.mpich.org/static/downloads/${mpich_version}/${mpich_tar_name} tar xzf ${mpich_tar_name} rm ${mpich_tar_name} cd ${mpich_name} diff --git a/docker-bake.hcl b/docker-bake.hcl new file mode 100644 index 00000000..4d44e014 --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,88 @@ + +variable "COMPILER_TYPE" { + default = "clang" +} + +variable "HOST_COMPILER" { + default = "clang-14" +} + +variable "COMPILER" { + default = "clang-14" +} + +variable "REPO" { + default = "lifflander1/vt" +} + +variable "ARCH" { + default = "arm64" +} + +variable "DISTRO" { + default = "ubuntu" + + validation { + condition = DISTRO == "ubuntu" || DISTRO == "alpine" + error_message = "Supported configurations are ubuntu and alpine" + } +} + +variable "DISTRO_VERSION" { + default = "22.04" +} + +function "build-setup-id" { + params = [arch, distro, distro_version, compiler, variant] + result = [ + "${variant == "" ? "${arch}-${distro}-${distro_version}-${compiler}-cpp" : "${arch}-${distro}-${distro_version}-${compiler}-${variant}-cpp"}" + ] +} + +target "build" { + args = { + ARCH = "${ARCH}" + DISTRO = "${DISTRO}" + DISTRO_VERSION = "${DISTRO_VERSION}" + COMPILER = "${COMPILER}" + SETUP_ID = "${ARCH}-${DISTRO}-${DISTRO_VERSION}-${COMPILER}-cpp" + } + target = "base" + context = "." + dockerfile = "ci/docker/base.dockerfile" + platforms = [ + "linux/arm64" + ] +} + +target "build-all" { + name = "build-${item.arch}-${item.distro}-${replace(item.distro_version, ".", "-")}-${item.compiler}-cpp" + inherits = ["build"] + + args = { + ARCH = "${item.arch}" + DISTRO = "${item.distro}" + DISTRO_VERSION = "${item.distro_version}" + COMPILER = "${item.compiler}" + } + + matrix = { + item = [ + { + arch = "amd64" + distro = "ubuntu" + distro_version = "22.04" + compiler = "clang-13" + mpi = "mpich" + }, + { + arch = "amd64" + distro = "ubuntu" + distro_version = "22.04" + compiler = "clang-14" + mpi = "mpich" + } + + ] + } +} From 3fcaa822dba28b50993606e67e4f25c126958c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 12 Mar 2025 15:16:50 +0100 Subject: [PATCH 2/9] #16: remove unused variable --- ci/docker/base.dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/ci/docker/base.dockerfile b/ci/docker/base.dockerfile index 06a13c8f..92e992df 100644 --- a/ci/docker/base.dockerfile +++ b/ci/docker/base.dockerfile @@ -38,8 +38,6 @@ ADD ci/shared/scripts/deps ${WF_TMP_DIR}/deps # Setup environment variables ENV DEBIAN_FRONTEND=noninteractive -ENV SCRIPTS_INSTALL_DIR=${SCRIPTS_INSTALL_DIR} - ENV WF_DOCKER=1 \ WF_SETUP_ID=${SETUP_ID} From 275a9f5cb73f24b1f2ab3144e88ee487159d7fea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 12 Mar 2025 15:20:36 +0100 Subject: [PATCH 3/9] #16: remove customized setup scripts --- .../setup-amd64-alpine-clang-13-cpp.sh | 137 ----------------- .../setup-amd64-ubuntu-20.04-clang-10-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-20.04-clang-9-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-20.04-gcc-10-cpp.sh | 139 ----------------- ...p-amd64-ubuntu-20.04-gcc-10-openmpi-cpp.sh | 139 ----------------- .../setup-amd64-ubuntu-20.04-gcc-9-cpp.sh | 141 ----------------- ...md64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp.sh | 141 ----------------- ...md64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-20.04-icpc-cpp.sh | 139 ----------------- .../setup-amd64-ubuntu-20.04-icpx-cpp.sh | 139 ----------------- .../setup-amd64-ubuntu-22.04-clang-11-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-22.04-clang-12-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-22.04-clang-13-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-22.04-clang-14-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-22.04-gcc-11-cpp.sh | 139 ----------------- .../setup-amd64-ubuntu-22.04-gcc-12-cpp.sh | 139 ----------------- ...setup-amd64-ubuntu-22.04-gcc-12-vtk-cpp.sh | 143 ----------------- ...up-amd64-ubuntu-22.04-gcc-12-zoltan-cpp.sh | 141 ----------------- .../setup-amd64-ubuntu-24.04-clang-16-cpp.sh | 141 ----------------- ...tup-amd64-ubuntu-24.04-clang-16-vtk-cpp.sh | 145 ------------------ ...-amd64-ubuntu-24.04-clang-16-zoltan-cpp.sh | 143 ----------------- .../setup-arm64-macos-14-clang-14-cpp.sh | 135 ---------------- .../setup-arm64-macos-14-clang-14-vtk-cpp.sh | 141 ----------------- 23 files changed, 3229 deletions(-) delete mode 100644 ci/shared/scripts/setup-amd64-alpine-clang-13-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-10-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-9-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-openmpi-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-icpc-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-20.04-icpx-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-11-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-12-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-13-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-14-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-11-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-vtk-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-zoltan-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-vtk-cpp.sh delete mode 100644 ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-zoltan-cpp.sh delete mode 100644 ci/shared/scripts/setup-arm64-macos-14-clang-14-cpp.sh delete mode 100644 ci/shared/scripts/setup-arm64-macos-14-clang-14-vtk-cpp.sh diff --git a/ci/shared/scripts/setup-amd64-alpine-clang-13-cpp.sh b/ci/shared/scripts/setup-amd64-alpine-clang-13-cpp.sh deleted file mode 100644 index c4c44816..00000000 --- a/ci/shared/scripts/setup-amd64-alpine-clang-13-cpp.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/env sh - -# -# alpine-3.16, clang-13, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "alpine-sdk" "autoconf" "automake" "binutils-dev" "ccache" "cmake" "dpkg" "libdwarf-dev" "libunwind-dev" "libtool" "linux-headers" "m4" "make" "ninja" "zlib" "zlib-dev" "python3" "gcovr" "clang" "clang-dev" -CC="clang" CXX="clang++" ./mpich.sh "3.3.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-10-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-10-cpp.sh deleted file mode 100644 index 2ab02a02..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-10-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-10, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-10" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-9-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-9-cpp.sh deleted file mode 100644 index bcca3d39..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-clang-9-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-9, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-9" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-cpp.sh deleted file mode 100644 index 98d8e64b..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-cpp.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-10, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-10" "g++-10" -./cmake.sh "3.23.4" -CC="gcc-10" CXX="g++-10" ./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-openmpi-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-openmpi-cpp.sh deleted file mode 100644 index 72a85fe0..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-10-openmpi-cpp.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-10, ubuntu, openmpi - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/openmpi.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-10" "g++-10" -./cmake.sh "3.23.4" -CC="gcc-10" CXX="g++-10" ./openmpi.sh "v4.0" "4.0.4" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cpp.sh deleted file mode 100644 index 2d39e47b..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-9, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/doxygen.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-9" "g++-9" "python3-jinja2" "python3-pygments" -./cmake.sh "3.23.4" -./doxygen.sh "1.8.16" -CC="gcc-9" CXX="g++-9" ./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp.sh deleted file mode 100644 index 252e73a2..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# nvidia cuda 11.2.2, gcc-9, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh - wget $WF_DEPS_URL/nvcc_wrapper.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-9" "g++-9" -./cmake.sh "3.23.4" -CC="gcc-9" CXX="g++-9" ./mpich.sh "4.0.2" "-j4" -./nvcc_wrapper.sh - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp.sh deleted file mode 100644 index 13c2bb0d..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# nvidia cuda 12.2.0, gcc-9, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh - wget $WF_DEPS_URL/nvcc_wrapper.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-9" "g++-9" -./cmake.sh "3.23.4" -CC="gcc-9" CXX="g++-9" ./mpich.sh "4.0.2" "-j4" -./nvcc_wrapper.sh - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-icpc-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-icpc-cpp.sh deleted file mode 100644 index 2af622a1..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-icpc-cpp.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env sh - -# -# intel icpc, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.2.1" -./cmake.sh "3.23.4" -CC="icc" CXX="icpc" ./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-icpx-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-icpx-cpp.sh deleted file mode 100644 index f799373e..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-icpx-cpp.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env sh - -# -# intel icpx, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.2.1" -./cmake.sh "3.23.4" -CC="icx" CXX="icpx" ./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-11-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-11-cpp.sh deleted file mode 100644 index 260bd20f..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-11-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-11, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-11" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-12-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-12-cpp.sh deleted file mode 100644 index f1b2a28b..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-12-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-12, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-12" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-13-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-13-cpp.sh deleted file mode 100644 index e2591c1d..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-13-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-13, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-13" "llvm-13" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-14-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-14-cpp.sh deleted file mode 100644 index 06a3f91c..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-clang-14-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-14, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-14" "llvm-14" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-11-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-11-cpp.sh deleted file mode 100644 index 088d6dea..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-11-cpp.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-11, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-11" "g++-11" -./cmake.sh "3.23.4" -CC="gcc-11" CXX="g++-11" ./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-cpp.sh deleted file mode 100644 index 6192159e..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-cpp.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-12, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-12" "g++-12" "gcovr" "lcov" -./cmake.sh "3.23.4" -CC="gcc-12" CXX="g++-12" ./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-vtk-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-vtk-cpp.sh deleted file mode 100644 index 1e56a29b..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-vtk-cpp.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-12, ubuntu, mpich, vtk - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh - wget $WF_DEPS_URL/mesa.sh - wget $WF_DEPS_URL/vtk.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-12" "g++-12" "gcovr" "lcov" "xvfb" -./cmake.sh "3.23.4" -CC="gcc-12" CXX="g++-12" ./mpich.sh "4.0.2" "-j4" -./mesa.sh -./vtk.sh "9.3.1" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-zoltan-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-zoltan-cpp.sh deleted file mode 100644 index aa0a1caf..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-22.04-gcc-12-zoltan-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# gcc-12, ubuntu, mpich, zoltan - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mpich.sh - wget $WF_DEPS_URL/zoltan.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "gcc-12" "g++-12" "gfortran-12" -./cmake.sh "3.23.4" -CC="gcc-12" CXX="g++-12" ./mpich.sh "4.0.2" "-j4" -./zoltan.sh "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-cpp.sh deleted file mode 100644 index c099345b..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-16, ubuntu, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-16" "llvm-16" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-vtk-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-vtk-cpp.sh deleted file mode 100644 index 1abef1b8..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-vtk-cpp.sh +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-16, ubuntu, mpich, vtk - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh - wget $WF_DEPS_URL/mesa.sh - wget $WF_DEPS_URL/vtk.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-16" "llvm-16" "xvfb" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" -./mesa.sh -./vtk.sh "9.3.1" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-zoltan-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-zoltan-cpp.sh deleted file mode 100644 index da406b0d..00000000 --- a/ci/shared/scripts/setup-amd64-ubuntu-24.04-clang-16-zoltan-cpp.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env sh - -# -# clang-16, ubuntu, mpich, zoltan - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/libunwind.sh - wget $WF_DEPS_URL/mpich.sh - wget $WF_DEPS_URL/zoltan.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "curl" "jq" "lcov" "less" "libomp5" "libunwind-dev" "make-guile" "ninja-build" "valgrind" "zlib1g" "zlib1g-dev" "ccache" "python3" "clang-16" "llvm-16" "gfortran-13" -./cmake.sh "3.23.4" -./libunwind.sh "1.6.2" -./mpich.sh "4.0.2" "-j4" -./zoltan.sh "-j4" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-arm64-macos-14-clang-14-cpp.sh b/ci/shared/scripts/setup-arm64-macos-14-clang-14-cpp.sh deleted file mode 100644 index 50f20986..00000000 --- a/ci/shared/scripts/setup-arm64-macos-14-clang-14-cpp.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env sh - -# -# macos-14-arm64, clang-14, mpich - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "ccache" "coreutils" "ninja" "mpich" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" diff --git a/ci/shared/scripts/setup-arm64-macos-14-clang-14-vtk-cpp.sh b/ci/shared/scripts/setup-arm64-macos-14-clang-14-vtk-cpp.sh deleted file mode 100644 index 2f103938..00000000 --- a/ci/shared/scripts/setup-arm64-macos-14-clang-14-vtk-cpp.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env sh - -# -# macos-14-arm64, clang-14, mpich, vtk - Installation -# Note: requires -# - `git` and `wget` installed. -# - run as root - -# -# IMPORTANT: This file has been generated by a script. Please do not edit ! -# - -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} - -echo "------------- Setup --------------" - -OS= -OS_VERSION= -UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} -if [ "$UNAME" = "Darwin" ] -then - OS_NAME=$(sw_vers -productName) - OS_VERSION=$(sw_vers -productVersion) -elif [ "$UNAME" = "Linux" ] -then - OS_NAME=$(cat /etc/os-release | grep -E "^NAME=*" | cut -d = -f 2 | tr -d '"') - OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') -fi - -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" -echo "PATH=$PATH" -echo "CPATH=$CPATH" -echo "LIBRARY_PATH=$LIBRARY_PATH" -echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -echo "----------------------------------" - -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - -set -e - -### SETUP DEPENDENCIES - -echo "--" -echo "-- Installing dependencies..." -echo "--" - -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - wget $WF_DEPS_URL/packages.sh - wget $WF_DEPS_URL/cmake.sh - wget $WF_DEPS_URL/mesa.sh - wget $WF_DEPS_URL/vtk.sh -fi - -chmod u+x *.sh -ls -l -./packages.sh "ccache" "coreutils" "ninja" "mpich" -./cmake.sh "3.23.4" -./mesa.sh -./vtk.sh "9.3.1" - -# Remove install scripts -rm -rf $WF_SCRIPTS_DIR - -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - -echo "--" -echo "-- Dependencies installed !" -echo "--" - -### CLEAN-UP -if [ "$OS_NAME" = "Ubuntu" ] -then - rm -rf /var/lib/apt/lists/* -elif [ "$OS_NAME" = "Alpine Linux" ] -then - : -elif [ "$OS_NAME" = "macOS" ] -then - : -else - echo "No cleanup instructions defined for OS=$OS." -fi - -echo "---------- Setup OK ! ------------" -echo "--" -echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "--" -echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" -echo "--" -echo "Environment:" -echo " CC=$CC" -echo " CXX=$CXX" -echo " FC=$FC" -echo " PATH=$PATH" -echo "--" -echo "-------- Ready to test ! ---------" -echo "--" From 8cfd3e34df35d0d7acb24530ecca6b1579fda3d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 12 Mar 2025 15:29:15 +0100 Subject: [PATCH 4/9] #16: cancel in progress builds on new push --- .github/workflows/build-docker-image.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 3a6b621c..444ed5c6 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -7,6 +7,10 @@ on: pull_request: branches: "*" +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: get-matrix: runs-on: ubuntu-latest From f0544f3214106a07b0d19afca4d227a5d0382550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 12 Mar 2025 15:51:15 +0100 Subject: [PATCH 5/9] #16: use correct package name for alpine --- ci/setup-basic.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/setup-basic.sh b/ci/setup-basic.sh index ba049ba4..1151ce26 100644 --- a/ci/setup-basic.sh +++ b/ci/setup-basic.sh @@ -47,7 +47,7 @@ then elif [ "$OS_NAME" = "Alpine Linux" ] then apk update - apk add --no-cache wget git bash python3 python3-yaml + apk add --no-cache wget git bash python3 py3-yaml elif [ "$OS_NAME" = "macOS" ] then brew update From 1321d4896a2dfd8969c6d850277f69bea998c563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 12 Mar 2025 16:00:11 +0100 Subject: [PATCH 6/9] #16: do not download dependency scripts separately Using a repository guarantees consistent state. AFAIK there's no need to download scripts individually. --- ci/build-setup.py | 4 ---- ci/docker/base.dockerfile | 3 +-- ci/setup-basic.sh | 6 +----- ci/setup-template.sh | 24 ++---------------------- 4 files changed, 4 insertions(+), 33 deletions(-) diff --git a/ci/build-setup.py b/ci/build-setup.py index a201bb71..22e8a1af 100755 --- a/ci/build-setup.py +++ b/ci/build-setup.py @@ -56,10 +56,7 @@ def build(self): for (setup_id, setup_config) in setup.items(): # generate install instructions and install dependencies commands instructions = [] - downloads = [] for (dep_id, args) in setup_config.get("deps").items(): - if dep_id != "cmd": - downloads.append(f"wget $WF_DEPS_URL/{dep_id}.sh") instructions.extend(self.__instructions(dep_id, args)) setup_script = "" @@ -70,7 +67,6 @@ def build(self): ) as file: setup_script = file.read() setup_script = setup_script.replace("%ENVIRONMENT_LABEL%", setup_config.get("label")) - setup_script = setup_script.replace("%DEPS_DOWNLOAD%", '\n '.join(downloads)) setup_script = setup_script.replace("%DEPS_INSTALL%", '\n'.join(instructions)) setup_filename = f"setup-{setup_id}.sh" diff --git a/ci/docker/base.dockerfile b/ci/docker/base.dockerfile index 92e992df..46b5aedf 100644 --- a/ci/docker/base.dockerfile +++ b/ci/docker/base.dockerfile @@ -38,8 +38,7 @@ ADD ci/shared/scripts/deps ${WF_TMP_DIR}/deps # Setup environment variables ENV DEBIAN_FRONTEND=noninteractive -ENV WF_DOCKER=1 \ - WF_SETUP_ID=${SETUP_ID} +ENV WF_SETUP_ID=${SETUP_ID} ENV CC=$CC \ CXX=$CXX \ diff --git a/ci/setup-basic.sh b/ci/setup-basic.sh index 1151ce26..ee5a4297 100644 --- a/ci/setup-basic.sh +++ b/ci/setup-basic.sh @@ -3,14 +3,12 @@ # Basic universal setup script WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} echo "------------- Setup --------------" OS= OS_VERSION= UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} if [ "$UNAME" = "Darwin" ] then OS_NAME=$(sw_vers -productName) @@ -22,7 +20,6 @@ then fi echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" echo "PATH=$PATH" echo "CPATH=$CPATH" echo "LIBRARY_PATH=$LIBRARY_PATH" @@ -30,10 +27,9 @@ echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" echo "----------------------------------" # Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" +echo "-- Set up variables (WF_SETUP_ID, OS_NAME, OS_VERSION) > ~/.setuprc" { echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" echo "export OS_NAME=\"$OS_NAME\"" echo "export OS_VERSION=\"$OS_VERSION\"" } >> ~/.setuprc diff --git a/ci/setup-template.sh b/ci/setup-template.sh index 986e067e..cbba2029 100644 --- a/ci/setup-template.sh +++ b/ci/setup-template.sh @@ -18,7 +18,6 @@ echo "------------- Setup --------------" OS= OS_VERSION= UNAME=$(uname) -WF_DOCKER=${WF_DOCKER:-"0"} if [ "$UNAME" = "Darwin" ] then OS_NAME=$(sw_vers -productName) @@ -30,7 +29,6 @@ then fi echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "WF_DOCKER=$WF_DOCKER" echo "PATH=$PATH" echo "CPATH=$CPATH" echo "LIBRARY_PATH=$LIBRARY_PATH" @@ -38,10 +36,9 @@ echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" echo "----------------------------------" # Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, WF_DOCKER, OS_NAME, OS_VERSION) > ~/.setuprc" +echo "-- Set up variables (WF_SETUP_ID, OS_NAME, OS_VERSION) > ~/.setuprc" { echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export WF_DOCKER=\"$WF_DOCKER\"" echo "export OS_NAME=\"$OS_NAME\"" echo "export OS_VERSION=\"$OS_VERSION\"" } >> ~/.setuprc @@ -76,19 +73,7 @@ echo "--" echo "-- Installing dependencies..." echo "--" -if [ "$WF_DOCKER" = "1" ]; then - # If a docker image is being built then deps are already available. - cd $WF_TMP_DIR/deps -else - # if setup is ru directly (for example by a CI runner) then fetch dependencies - # trigger deps download from the workflows repo. - mkdir -p $WF_TMP_DIR - mkdir -p $WF_TMP_DIR/deps - # 1. Download dependency installation script - cd $WF_TMP_DIR/deps - %DEPS_DOWNLOAD% -fi - +cd $WF_TMP_DIR/deps chmod u+x *.sh ls -l %DEPS_INSTALL% @@ -96,10 +81,6 @@ ls -l # Remove install scripts rm -rf $WF_SCRIPTS_DIR -if [ "$WF_DOCKER" = "1" ]; then - rm -rf /var/lib/apt/lists/* -fi - echo "--" echo "-- Dependencies installed !" echo "--" @@ -123,7 +104,6 @@ echo "--" echo "Operating system: $OS_NAME / Version: $OS_VERSION" echo "--" echo "Setup id: $WF_SETUP_ID" -echo "Docker: $WF_DOCKER" echo "--" echo "Environment:" echo " CC=$CC" From e57bac03697267b2f8864410d8158d1a4fc205d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Fri, 14 Mar 2025 10:11:38 +0100 Subject: [PATCH 7/9] #16: remove dockerfile name from configuration --- ci/build-docker-image.py | 2 +- ci/config.yaml | 21 --------------------- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/ci/build-docker-image.py b/ci/build-docker-image.py index afee000f..49932251 100755 --- a/ci/build-docker-image.py +++ b/ci/build-docker-image.py @@ -54,7 +54,7 @@ def build(self, args: list): print("---------------------------") image_setup = setup.get(image.get("setup")) - dockerfile = image.get("dockerfile") + dockerfile = "base.dockerfile" env = image_setup.get("env") args = { diff --git a/ci/config.yaml b/ci/config.yaml index ff2f664c..27949b88 100644 --- a/ci/config.yaml +++ b/ci/config.yaml @@ -306,7 +306,6 @@ images: - repository: *docker-repository tag: wf-amd64-alpine-clang-13-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: alpine:3.16 setup: amd64-alpine-clang-13-cpp @@ -315,7 +314,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-gcc-9-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:20.04 setup: amd64-ubuntu-20.04-gcc-9-cpp @@ -323,7 +321,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-gcc-10-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:20.04 setup: amd64-ubuntu-20.04-gcc-10-cpp @@ -331,7 +328,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-gcc-10-openmpi-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:20.04 setup: amd64-ubuntu-20.04-gcc-10-openmpi-cpp @@ -339,7 +335,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-gcc-11-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-gcc-11-cpp @@ -347,7 +342,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-gcc-12-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-gcc-12-cpp @@ -355,7 +349,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-gcc-12-vtk-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-gcc-12-vtk-cpp @@ -363,7 +356,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-gcc-12-zoltan-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-gcc-12-zoltan-cpp @@ -372,7 +364,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: nvidia/cuda:12.2.0-devel-ubuntu20.04 setup: amd64-ubuntu-20.04-gcc-9-cuda-12.2.0-cpp @@ -380,7 +371,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: nvidia/cuda:11.2.2-devel-ubuntu20.04 setup: amd64-ubuntu-20.04-gcc-9-cuda-11.2.2-cpp @@ -389,7 +379,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-clang-9-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:20.04 setup: amd64-ubuntu-20.04-clang-9-cpp @@ -397,7 +386,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-clang-10-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:20.04 setup: amd64-ubuntu-20.04-clang-10-cpp @@ -405,7 +393,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-clang-11-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-clang-11-cpp @@ -413,7 +400,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-clang-12-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-clang-12-cpp @@ -421,7 +407,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-clang-13-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-clang-13-cpp @@ -429,7 +414,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-22.04-clang-14-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:22.04 setup: amd64-ubuntu-22.04-clang-14-cpp @@ -437,7 +421,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-24.04-clang-16-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:24.04 setup: amd64-ubuntu-24.04-clang-16-cpp @@ -445,7 +428,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-24.04-clang-16-vtk-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:24.04 setup: amd64-ubuntu-24.04-clang-16-vtk-cpp @@ -453,7 +435,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-24.04-clang-16-zoltan-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: ubuntu:24.04 setup: amd64-ubuntu-24.04-clang-16-zoltan-cpp @@ -462,7 +443,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-icpc-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: intel/oneapi:os-tools-ubuntu20.04 setup: amd64-ubuntu-20.04-icpc-cpp @@ -470,7 +450,6 @@ images: - repository: *docker-repository tag: wf-amd64-ubuntu-20.04-icpx-cpp - dockerfile: base.dockerfile arch: linux/amd64 base: intel/oneapi:os-tools-ubuntu20.04 setup: amd64-ubuntu-20.04-icpx-cpp From d861a96dfe21e8eb849e44d9e973b051edf5e056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Fri, 14 Mar 2025 10:25:21 +0100 Subject: [PATCH 8/9] #16: remove redundant code --- ci/setup-basic.sh | 9 +++++---- ci/setup-template.sh | 41 ++++------------------------------------- 2 files changed, 9 insertions(+), 41 deletions(-) diff --git a/ci/setup-basic.sh b/ci/setup-basic.sh index ee5a4297..5e06ba68 100644 --- a/ci/setup-basic.sh +++ b/ci/setup-basic.sh @@ -2,11 +2,8 @@ # Basic universal setup script -WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} - echo "------------- Setup --------------" -OS= OS_VERSION= UNAME=$(uname) if [ "$UNAME" = "Darwin" ] @@ -34,7 +31,7 @@ echo "-- Set up variables (WF_SETUP_ID, OS_NAME, OS_VERSION) > ~/.setuprc" echo "export OS_VERSION=\"$OS_VERSION\"" } >> ~/.setuprc -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +### UPDATE PACKAGE LIST AND INSTALL CORE DEPENDENCIES echo "-- Installing Core packages ($OS_NAME)..." if [ "$OS_NAME" = "Ubuntu" ] then @@ -51,3 +48,7 @@ else echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" exit 1 fi + +echo "--" +echo "-- Core packages installed!" +echo "--" diff --git a/ci/setup-template.sh b/ci/setup-template.sh index cbba2029..09a2fe20 100644 --- a/ci/setup-template.sh +++ b/ci/setup-template.sh @@ -11,11 +11,9 @@ # WF_TMP_DIR=${WF_TMP_DIR:-"/opt/workflows"} -WF_DEPS_URL=${WF_DEPS_URL:-"https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/master/ci/shared/scripts/deps"} echo "------------- Setup --------------" -OS= OS_VERSION= UNAME=$(uname) if [ "$UNAME" = "Darwin" ] @@ -35,40 +33,9 @@ echo "LIBRARY_PATH=$LIBRARY_PATH" echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" echo "----------------------------------" -# Save setup environment to ~/.setuprc (used by packages.sh dep for example) -echo "-- Set up variables (WF_SETUP_ID, OS_NAME, OS_VERSION) > ~/.setuprc" -{ - echo "export WF_SETUP_ID=\"$WF_SETUP_ID\"" - echo "export OS_NAME=\"$OS_NAME\"" - echo "export OS_VERSION=\"$OS_VERSION\"" -} >> ~/.setuprc - -### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. -echo "-- Installing Core packages ($OS_NAME)..." -if [ "$OS_NAME" = "Ubuntu" ] -then - apt-get update -y -q - apt-get install -y -q --no-install-recommends ca-certificates wget git -elif [ "$OS_NAME" = "Alpine Linux" ] -then - apk update - apk add --no-cache wget git bash -elif [ "$OS_NAME" = "macOS" ] -then - brew update -else - echo "Error. Please implement the pre-setup instructions for OS=$OS_NAME" - exit 1 -fi - -echo "--" -echo "-- Core packages installed !" -echo "--" - set -e -### SETUP DEPENDENCIES - +### INSTALL DEPENDENCIES echo "--" echo "-- Installing dependencies..." echo "--" @@ -79,10 +46,10 @@ ls -l %DEPS_INSTALL% # Remove install scripts -rm -rf $WF_SCRIPTS_DIR +cd - && rm -rf $WF_TMP_DIR/deps echo "--" -echo "-- Dependencies installed !" +echo "-- Dependencies installed!" echo "--" ### CLEAN-UP @@ -96,7 +63,7 @@ elif [ "$OS_NAME" = "macOS" ] then : else - echo "No cleanup instructions defined for OS=$OS." + echo "No cleanup instructions defined for OS=$OS_NAME." fi echo "---------- Setup OK ! ------------" From 18680e03e8a07f10d57510a4e6e7d59260f46221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Fri, 14 Mar 2025 12:32:44 +0100 Subject: [PATCH 9/9] #16: use bind mount for running the scripts --- ci/docker/base.dockerfile | 24 +++++++----------------- ci/setup-template.sh | 5 +---- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/ci/docker/base.dockerfile b/ci/docker/base.dockerfile index 46b5aedf..67431bf5 100644 --- a/ci/docker/base.dockerfile +++ b/ci/docker/base.dockerfile @@ -31,10 +31,6 @@ ARG CMPLR_ROOT \ LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-""} \ LIBRARY_PATH=${LIBRARY_PATH:-""} -# Copy dependency scripts -ENV WF_TMP_DIR=/opt/workflows -ADD ci/shared/scripts/deps ${WF_TMP_DIR}/deps - # Setup environment variables ENV DEBIAN_FRONTEND=noninteractive @@ -71,17 +67,11 @@ ENV CMPLR_ROOT=$CMPLR_ROOT \ LIBRARY_PATH=$LIBRARY_PATH \ LD_LIBRARY_PATH=$LD_LIBRARY_PATH +# Prepare working directory +ENV WF_TMP_DIR=/opt/workflows -COPY ci/setup-basic.sh ${WF_TMP_DIR} -RUN chmod +x ${WF_TMP_DIR}/setup-basic.sh && . ${WF_TMP_DIR}/setup-basic.sh - -COPY ci/config.yaml ${WF_TMP_DIR} -COPY ci/build-setup.py ${WF_TMP_DIR} -COPY ci/util.py ${WF_TMP_DIR} -COPY ci/setup-template.sh ${WF_TMP_DIR} -RUN python3 ${WF_TMP_DIR}/build-setup.py ${REPO}:wf-${SETUP_ID} - -RUN chmod +x ${WF_TMP_DIR}/setup-${SETUP_ID}.sh && . ${WF_TMP_DIR}/setup-${SETUP_ID}.sh - -# Clean -RUN rm -rf $WF_TMP_DIR +# Run the setup scripts +RUN --mount=type=bind,rw,source=ci,target=${WF_TMP_DIR} \ + sh ${WF_TMP_DIR}/setup-basic.sh && \ + python3 ${WF_TMP_DIR}/build-setup.py ${REPO}:wf-${SETUP_ID} && \ + sh ${WF_TMP_DIR}/setup-${SETUP_ID}.sh diff --git a/ci/setup-template.sh b/ci/setup-template.sh index 09a2fe20..8de860f4 100644 --- a/ci/setup-template.sh +++ b/ci/setup-template.sh @@ -40,14 +40,11 @@ echo "--" echo "-- Installing dependencies..." echo "--" -cd $WF_TMP_DIR/deps +cd $WF_TMP_DIR/shared/scripts/deps chmod u+x *.sh ls -l %DEPS_INSTALL% -# Remove install scripts -cd - && rm -rf $WF_TMP_DIR/deps - echo "--" echo "-- Dependencies installed!" echo "--"