From bfdaec3c79f4fe004554ad2a5aebd88cde6c1e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 20 Nov 2024 10:09:00 +0100 Subject: [PATCH 01/12] #349: ci: use DARMA-tasking/workflows images Use images from the `workflows` repository and remove redundant docker code in `magistrate`. --- .env | 2 +- .../dockerimage-clang-10-ubuntu-mpich.yml | 17 +-- .../dockerimage-clang-11-ubuntu-mpich.yml | 17 +-- .../dockerimage-clang-12-ubuntu-mpich.yml | 17 +-- .../dockerimage-clang-13-ubuntu-mpich.yml | 17 +-- .../dockerimage-clang-14-ubuntu-mpich.yml | 17 +-- .../dockerimage-clang-8-ubuntu-mpich.yml | 17 +-- .../dockerimage-clang-9-ubuntu-mpich.yml | 17 +-- .../dockerimage-gcc-10-ubuntu-mpich.yml | 17 +-- .../dockerimage-gcc-8-ubuntu-mpich.yml | 17 +-- .../dockerimage-gcc-9-ubuntu-mpich.yml | 17 +-- .../dockerimage-nvcc-11-ubuntu-mpich.yml | 17 +-- Dockerfile | 1 - ci/docker/ubuntu-18.04-clang-cpp.dockerfile | 92 ---------------- ci/docker/ubuntu-18.04-gnu-cpp.dockerfile | 100 ------------------ ci/docker/ubuntu-18.04-intel-cpp.dockerfile | 93 ---------------- ci/docker/ubuntu-20.04-clang-cpp.dockerfile | 1 - ci/docker/ubuntu-20.04-gnu-cpp.dockerfile | 1 - ci/docker/ubuntu-20.04-gnu-docs.dockerfile | 73 ------------- ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile | 90 ---------------- ci/docker/ubuntu-22.04-clang-cpp.dockerfile | 94 ---------------- docker-compose.yml | 39 +------ scripts/check_containers.sh | 24 ----- scripts/workflow-template.yml | 15 +-- scripts/workflows.ini | 2 +- 25 files changed, 38 insertions(+), 776 deletions(-) delete mode 120000 Dockerfile delete mode 100644 ci/docker/ubuntu-18.04-clang-cpp.dockerfile delete mode 100644 ci/docker/ubuntu-18.04-gnu-cpp.dockerfile delete mode 100644 ci/docker/ubuntu-18.04-intel-cpp.dockerfile delete mode 120000 ci/docker/ubuntu-20.04-clang-cpp.dockerfile delete mode 120000 ci/docker/ubuntu-20.04-gnu-cpp.dockerfile delete mode 100644 ci/docker/ubuntu-20.04-gnu-docs.dockerfile delete mode 100644 ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile delete mode 100644 ci/docker/ubuntu-22.04-clang-cpp.dockerfile delete mode 100755 scripts/check_containers.sh diff --git a/.env b/.env index b8cef152..c01396a0 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -REPO=lifflander1/checkpoint +REPO=lifflander1/vt ARCH=amd64 UBUNTU=22.04 ULIMIT_CORE=0 diff --git a/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml index 92ed3dfd..25625050 100644 --- a/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml index fafafa6c..9dea7a98 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml index a7c66bc2..f84c1ed8 100644 --- a/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml index c7dd6436..86cda99c 100644 --- a/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 22.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml index 027d8d67..d059838b 100644 --- a/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 22.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml index 646f3c3c..e53a83c7 100644 --- a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 18.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml index c1496111..a829c34a 100644 --- a/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 18.04 COMPILER_TYPE: clang @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml index 03c54cad..ff2486ee 100644 --- a/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: gnu @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml index 546543d6..540f19cb 100644 --- a/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 18.04 COMPILER_TYPE: gnu @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml index 8aef669e..6f41183a 100644 --- a/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: gnu @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml index f700d39f..97acdeac 100644 --- a/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: nvidia @@ -54,22 +54,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/Dockerfile b/Dockerfile deleted file mode 120000 index 82a5b091..00000000 --- a/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -ci/docker/ubuntu-18.04-gnu-cpp.dockerfile \ No newline at end of file diff --git a/ci/docker/ubuntu-18.04-clang-cpp.dockerfile b/ci/docker/ubuntu-18.04-clang-cpp.dockerfile deleted file mode 100644 index c60293df..00000000 --- a/ci/docker/ubuntu-18.04-clang-cpp.dockerfile +++ /dev/null @@ -1,92 +0,0 @@ - -ARG arch=amd64 -ARG distro=18.04 -FROM ${arch}/ubuntu:${distro} as base - -ARG proxy="" -ARG compiler=clang-7 - -ENV https_proxy=${proxy} \ - http_proxy=${proxy} - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - ca-certificates \ - curl \ - less \ - git \ - wget \ - ${compiler} \ - zlib1g \ - zlib1g-dev \ - ninja-build \ - unzip \ - valgrind \ - make-guile \ - libomp5 \ - libunwind-dev \ - ccache && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -RUN ln -s \ - "$(which $(echo ${compiler} | cut -d- -f1)++-$(echo ${compiler} | cut -d- -f2))" \ - /usr/bin/clang++ - -ENV CC=${compiler} \ - CXX=clang++ - -COPY ./ci/deps/cmake.sh cmake.sh -RUN ./cmake.sh 3.23.4 ${arch} - -COPY ./ci/deps/mpich.sh mpich.sh -RUN ./mpich.sh 3.3.2 -j4 - -ENV PATH=/cmake/bin/:$PATH -ENV LESSCHARSET=utf-8 - -COPY ./ci/deps/gtest.sh gtest.sh -RUN ./gtest.sh 1.8.1 /pkgs -ENV GTEST_ROOT=/pkgs/gtest/install - -COPY ./ci/deps/kokkos.sh kokkos.sh -RUN ./kokkos.sh 4.1.00 /pkgs 0 -ENV KOKKOS_ROOT=/pkgs/kokkos/install - -COPY ./ci/deps/kokkos-kernels.sh kokkos-kernels.sh -RUN ./kokkos-kernels.sh 4.1.00 /pkgs -ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install - -ENV MPI_EXTRA_FLAGS="" \ - CMAKE_PREFIX_PATH="/lib/x86_64-linux-gnu/" \ - PATH=/usr/lib/ccache/:$PATH \ - CMAKE_EXE_LINKER_FLAGS="-pthread" - -FROM base as build -COPY . /checkpoint - -ARG MAGISTRATE_DOXYGEN_ENABLED -ARG MAGISTRATE_TESTS_ENABLED -ARG MAGISTRATE_EXAMPLES_ENABLED -ARG MAGISTRATE_WARNINGS_AS_ERRORS -ARG MAGISTRATE_MPI_ENABLED -ARG MAGISTRATE_ASAN_ENABLED -ARG MAGISTRATE_UBSAN_ENABLED -ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ - MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ - MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ - MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ - MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ - MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ - MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ - MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ - CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -RUN /checkpoint/ci/build_cpp.sh /checkpoint /build - -FROM build as test -RUN /checkpoint/ci/test_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile b/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile deleted file mode 100644 index 88df3ec3..00000000 --- a/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile +++ /dev/null @@ -1,100 +0,0 @@ - -ARG arch=amd64 -ARG distro=18.04 -FROM ${arch}/ubuntu:${distro} as base - -ARG proxy="" -ARG compiler=gcc-8 - -ENV https_proxy=${proxy} \ - http_proxy=${proxy} - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - g++-$(echo ${compiler} | cut -d- -f2) \ - ca-certificates \ - less \ - curl \ - git \ - wget \ - ${compiler} \ - zlib1g \ - zlib1g-dev \ - unzip \ - ninja-build \ - valgrind \ - make-guile \ - libomp5 \ - ccache && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -RUN ln -s \ - "$(which g++-$(echo ${compiler} | cut -d- -f2))" \ - /usr/bin/g++ - -RUN ln -s \ - "$(which gcc-$(echo ${compiler} | cut -d- -f2))" \ - /usr/bin/gcc - -ENV CC=gcc \ - CXX=g++ - -COPY ./ci/deps/cmake.sh cmake.sh -RUN ./cmake.sh 3.23.4 ${arch} - -COPY ./ci/deps/mpich.sh mpich.sh -RUN ./mpich.sh 3.3.2 -j4 - -ENV PATH=/cmake/bin/:$PATH -ENV LESSCHARSET=utf-8 - -COPY ./ci/deps/gtest.sh gtest.sh -RUN ./gtest.sh 1.8.1 /pkgs -ENV GTEST_ROOT=/pkgs/gtest/install - -COPY ./ci/deps/kokkos.sh kokkos.sh -RUN ./kokkos.sh 4.1.00 /pkgs 1 -ENV KOKKOS_ROOT=/pkgs/kokkos/install - -COPY ./ci/deps/kokkos-kernels.sh kokkos-kernels.sh -RUN ./kokkos-kernels.sh 4.1.00 /pkgs -ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install - -ENV MPI_EXTRA_FLAGS="" \ - PATH=/usr/lib/ccache/:$PATH - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - lcov && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -FROM base as build -COPY . /checkpoint - -ARG MAGISTRATE_DOXYGEN_ENABLED -ARG MAGISTRATE_TESTS_ENABLED -ARG MAGISTRATE_EXAMPLES_ENABLED -ARG MAGISTRATE_WARNINGS_AS_ERRORS -ARG MAGISTRATE_MPI_ENABLED -ARG MAGISTRATE_ASAN_ENABLED -ARG MAGISTRATE_UBSAN_ENABLED -ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ - MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ - MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ - MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ - MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ - MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ - MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ - MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ - CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -RUN /checkpoint/ci/build_cpp.sh /checkpoint /build - -FROM build as test -RUN /checkpoint/ci/test_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-18.04-intel-cpp.dockerfile b/ci/docker/ubuntu-18.04-intel-cpp.dockerfile deleted file mode 100644 index 3a700350..00000000 --- a/ci/docker/ubuntu-18.04-intel-cpp.dockerfile +++ /dev/null @@ -1,93 +0,0 @@ - -ARG compiler=icc-18 -FROM lifflander1/${compiler} as base - -ARG proxy="" - -ENV https_proxy=${proxy} \ - http_proxy=${proxy} - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - ca-certificates \ - less \ - curl \ - git \ - wget \ - zlib1g \ - zlib1g-dev \ - ninja-build \ - valgrind \ - make-guile \ - libomp5 \ - unzip \ - ccache && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -RUN ln -s \ - /opt/intel/install/bin/icpc \ - /opt/intel/install/bin/g++ - -RUN ln -s \ - /opt/intel/install/bin/icc \ - /opt/intel/install/bin/gcc - -ARG arch - -COPY ./ci/deps/cmake.sh cmake.sh -RUN ./cmake.sh 3.23.4 ${arch} -ENV PATH=/cmake/bin/:$PATH - -COPY ./ci/deps/gtest.sh gtest.sh -RUN ./gtest.sh 1.8.1 /pkgs -ENV GTEST_ROOT=/pkgs/gtest/install - -COPY ./ci/deps/mpich.sh mpich.sh -RUN ./mpich.sh 3.3.2 -j4 - -ENV LESSCHARSET=utf-8 - -ENV CC=/opt/intel/install/bin/icc \ - CXX=/opt/intel/install/bin/icpc - -COPY ./ci/deps/kokkos.sh kokkos.sh -RUN ./kokkos.sh 4.1.00 /pkgs 1 -ENV KOKKOS_ROOT=/pkgs/kokkos/install - -COPY ./ci/deps/kokkos-kernels.sh kokkos-kernels.sh -RUN ./kokkos-kernels.sh 4.1.00 /pkgs -ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install - -ENV MPI_EXTRA_FLAGS="" \ - PATH=/usr/lib/ccache/:$PATH \ - LD_LIBRARY_PATH=/opt/intel/ld_library_path - -FROM base as build -COPY . /checkpoint - -ARG MAGISTRATE_DOXYGEN_ENABLED -ARG MAGISTRATE_TESTS_ENABLED -ARG MAGISTRATE_EXAMPLES_ENABLED -ARG MAGISTRATE_WARNINGS_AS_ERRORS -ARG MAGISTRATE_MPI_ENABLED -ARG MAGISTRATE_ASAN_ENABLED -ARG MAGISTRATE_UBSAN_ENABLED -ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ - MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ - MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ - MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ - MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ - MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ - MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ - MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ - CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -RUN /checkpoint/ci/build_cpp.sh /checkpoint /build - -FROM build as test -RUN /checkpoint/ci/test_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-20.04-clang-cpp.dockerfile b/ci/docker/ubuntu-20.04-clang-cpp.dockerfile deleted file mode 120000 index 6484110b..00000000 --- a/ci/docker/ubuntu-20.04-clang-cpp.dockerfile +++ /dev/null @@ -1 +0,0 @@ -ubuntu-18.04-clang-cpp.dockerfile \ No newline at end of file diff --git a/ci/docker/ubuntu-20.04-gnu-cpp.dockerfile b/ci/docker/ubuntu-20.04-gnu-cpp.dockerfile deleted file mode 120000 index 2b4c68e7..00000000 --- a/ci/docker/ubuntu-20.04-gnu-cpp.dockerfile +++ /dev/null @@ -1 +0,0 @@ -ubuntu-18.04-gnu-cpp.dockerfile \ No newline at end of file diff --git a/ci/docker/ubuntu-20.04-gnu-docs.dockerfile b/ci/docker/ubuntu-20.04-gnu-docs.dockerfile deleted file mode 100644 index 8ea2af0c..00000000 --- a/ci/docker/ubuntu-20.04-gnu-docs.dockerfile +++ /dev/null @@ -1,73 +0,0 @@ - -ARG arch=amd64 -FROM ${arch}/ubuntu:20.04 AS base - -ARG proxy="" -ARG compiler=gcc-8 -ARG token - -ENV https_proxy=${proxy} \ - http_proxy=${proxy} - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - ${compiler} \ - ca-certificates \ - ccache \ - curl \ - ghostscript \ - git \ - libmpich-dev \ - mpich \ - ninja-build \ - python3 \ - python3-jinja2 \ - python3-pygments \ - texlive-font-utils \ - unzip \ - wget \ - zlib1g \ - zlib1g-dev &&\ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -COPY ./ci/deps/cmake.sh cmake.sh -RUN ./cmake.sh 3.23.4 ${arch} -ENV PATH=/cmake/bin/:$PATH - -COPY ./ci/deps/doxygen.sh doxygen.sh -RUN ./doxygen.sh 1.8.16 -ENV PATH=/doxygen/bin/:$PATH - -COPY ./ci/deps/gtest.sh gtest.sh -RUN ./gtest.sh 1.8.1 /pkgs -ENV GTEST_ROOT=/pkgs/gtest/install - -COPY ./ci/deps/kokkos.sh kokkos.sh -RUN ./kokkos.sh 4.1.00 /pkgs 1 -ENV KOKKOS_ROOT=/pkgs/kokkos/install - -COPY ./ci/deps/kokkos-kernels.sh kokkos-kernels.sh -RUN ./kokkos-kernels.sh 4.1.00 /pkgs -ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install - -ENV MPI_EXTRA_FLAGS="" \ - CMAKE_PREFIX_PATH="/lib/x86_64-linux-gnu/" \ - CC=mpicc \ - CXX=mpicxx \ - LESSCHARSET=utf-8 \ - PATH=/usr/lib/ccache/:$PATH - -FROM base AS build -COPY . /checkpoint - -ARG token -ARG MAGISTRATE_DOXYGEN_ENABLED -ARG CMAKE_BUILD_TYPE - -ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ - CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -RUN /checkpoint/ci/build_cpp.sh /checkpoint /build "${token}" diff --git a/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile b/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile deleted file mode 100644 index fb99355c..00000000 --- a/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile +++ /dev/null @@ -1,90 +0,0 @@ - -ARG compiler=11.2.2 -ARG arch=amd64 -ARG ubuntu=20.04 -FROM --platform=${arch} nvidia/cuda:${compiler}-devel-ubuntu${ubuntu} as base - -ARG proxy="" - -ENV https_proxy=${proxy} \ - http_proxy=${proxy} - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - ca-certificates \ - curl \ - less \ - git \ - wget \ - zlib1g \ - zlib1g-dev \ - ninja-build \ - gnupg \ - make-guile \ - unzip \ - libomp5 \ - valgrind \ - ccache && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -ENV CC=gcc \ - CXX=g++ - -COPY ./ci/deps/cmake.sh cmake.sh -RUN ./cmake.sh 3.23.4 ${arch} - -COPY ./ci/deps/mpich.sh mpich.sh -RUN ./mpich.sh 3.3.2 -j4 - -ENV PATH=/cmake/bin/:$PATH -ENV LESSCHARSET=utf-8 - -COPY ./ci/deps/gtest.sh gtest.sh -RUN ./gtest.sh 1.12.1 /pkgs -ENV GTEST_ROOT=/pkgs/gtest/install - -COPY ./ci/deps/kokkos.sh kokkos.sh -RUN ./kokkos.sh 4.1.00 /pkgs 0 -ENV KOKKOS_ROOT=/pkgs/kokkos/install - -RUN mkdir -p /nvcc_wrapper/build && \ - wget https://raw.githubusercontent.com/kokkos/kokkos/master/bin/nvcc_wrapper -P /nvcc_wrapper/build && \ - chmod +x /nvcc_wrapper/build/nvcc_wrapper - -ENV MPI_EXTRA_FLAGS="" \ - PATH=/usr/lib/ccache/:/nvcc_wrapper/build:$PATH \ - CXX=nvcc_wrapper - -COPY ./ci/deps/kokkos-kernels.sh kokkos-kernels.sh -RUN ./kokkos-kernels.sh 4.1.00 /pkgs -ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install - -FROM base as build -COPY . /checkpoint - -ARG MAGISTRATE_DOXYGEN_ENABLED -ARG MAGISTRATE_TESTS_ENABLED -ARG MAGISTRATE_EXAMPLES_ENABLED -ARG MAGISTRATE_WARNINGS_AS_ERRORS -ARG MAGISTRATE_MPI_ENABLED -ARG MAGISTRATE_ASAN_ENABLED -ARG MAGISTRATE_UBSAN_ENABLED -ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ - MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ - MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ - MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ - MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ - MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ - MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ - MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ - CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -RUN /checkpoint/ci/build_cpp.sh /checkpoint /build - -FROM build as test -RUN /checkpoint/ci/test_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-22.04-clang-cpp.dockerfile b/ci/docker/ubuntu-22.04-clang-cpp.dockerfile deleted file mode 100644 index 0bbeb1b1..00000000 --- a/ci/docker/ubuntu-22.04-clang-cpp.dockerfile +++ /dev/null @@ -1,94 +0,0 @@ - -ARG arch=amd64 -ARG distro=22.04 -FROM ${arch}/ubuntu:${distro} as base - -ARG proxy="" -ARG compiler=clang-13 - -ENV https_proxy=${proxy} \ - http_proxy=${proxy} - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ - ca-certificates \ - curl \ - less \ - git \ - wget \ - ${compiler} \ - zlib1g \ - zlib1g-dev \ - ninja-build \ - unzip \ - valgrind \ - make-guile \ - libomp5 \ - libunwind-dev \ - ccache && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -RUN ln -s \ - "$(which $(echo ${compiler} | cut -d- -f1)++-$(echo ${compiler} | cut -d- -f2))" \ - /usr/bin/clang++ - -ENV CC=${compiler} \ - CXX=clang++ - -ARG arch - -COPY ./ci/deps/cmake.sh cmake.sh -RUN ./cmake.sh 3.23.4 ${arch} - -COPY ./ci/deps/mpich.sh mpich.sh -RUN ./mpich.sh 3.3.2 -j4 - -ENV PATH=/cmake/bin/:$PATH -ENV LESSCHARSET=utf-8 - -COPY ./ci/deps/gtest.sh gtest.sh -RUN ./gtest.sh 1.8.1 /pkgs -ENV GTEST_ROOT=/pkgs/gtest/install - -COPY ./ci/deps/kokkos.sh kokkos.sh -RUN ./kokkos.sh 4.1.00 /pkgs 0 -ENV KOKKOS_ROOT=/pkgs/kokkos/install - -COPY ./ci/deps/kokkos-kernels.sh kokkos-kernels.sh -RUN ./kokkos-kernels.sh 4.1.00 /pkgs -ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install - -ENV MPI_EXTRA_FLAGS="" \ - CMAKE_PREFIX_PATH="/lib/x86_64-linux-gnu/" \ - PATH=/usr/lib/ccache/:$PATH \ - CMAKE_EXE_LINKER_FLAGS="-pthread" - -FROM base as build -COPY . /checkpoint - -ARG MAGISTRATE_DOXYGEN_ENABLED -ARG MAGISTRATE_TESTS_ENABLED -ARG MAGISTRATE_EXAMPLES_ENABLED -ARG MAGISTRATE_WARNINGS_AS_ERRORS -ARG MAGISTRATE_MPI_ENABLED -ARG MAGISTRATE_ASAN_ENABLED -ARG MAGISTRATE_UBSAN_ENABLED -ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ - MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ - MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ - MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ - MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ - MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ - MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ - MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ - CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -RUN /checkpoint/ci/build_cpp.sh /checkpoint /build - -FROM build as test -RUN /checkpoint/ci/test_cpp.sh /checkpoint /build diff --git a/docker-compose.yml b/docker-compose.yml index 9c49b134..961945c9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,9 +42,6 @@ # $ COMPILER=gcc-8 docker-compose run ubuntu-cpp # -# Need verision >= 3.5 for the features in use -version: '3.5' - # Named volumes must be predefined according the docker compose rules. Many # combinations have already been added, but if a needed configuration is missing # add it to this list. @@ -113,18 +110,7 @@ services: # Ubuntu gcc-8 debug build: # docker-compose run -e CMAKE_BUILD_TYPE=debug ubuntu-cpp ubuntu-cpp: - image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - build: - context: . - target: base - dockerfile: ci/docker/ubuntu-${UBUNTU}-${COMPILER_TYPE}-cpp.dockerfile - cache_from: - - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - args: &default-args - arch: ${ARCH} - proxy: ${PROXY} - compiler: ${COMPILER} - distro: ${UBUNTU} + image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp ulimits: &ulimits core: ${ULIMIT_CORE} environment: @@ -139,13 +125,6 @@ services: ubuntu-cpp-vt: image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - build: - context: . - target: base - dockerfile: ci/docker/ubuntu-${UBUNTU}-${COMPILER_TYPE}-cpp.dockerfile - cache_from: - - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - args: *default-args ulimits: *ulimits environment: <<: [*ccache, *checkpointopts] @@ -167,13 +146,6 @@ services: # $ /checkpoint/ci/test_cpp.sh /checkpoint /build ubuntu-cpp-interactive: image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - build: - context: . - target: base - dockerfile: ci/docker/ubuntu-${UBUNTU}-${COMPILER_TYPE}-cpp.dockerfile - cache_from: - - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - args: *default-args ulimits: *ulimits environment: <<: [*ccache, *checkpointopts] @@ -184,15 +156,6 @@ services: # container baseline. ubuntu-docs: image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-docs - build: - context: . - target: base - dockerfile: ci/docker/ubuntu-${UBUNTU}-${COMPILER_TYPE}-docs.dockerfile - cache_from: - - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp - args: - <<: *default-args - token: ${TOKEN} ulimits: *ulimits environment: <<: *ccache diff --git a/scripts/check_containers.sh b/scripts/check_containers.sh deleted file mode 100755 index 2bd8fb9c..00000000 --- a/scripts/check_containers.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Decide whether we should pull or build the Docker images in CI. -# This is consistent with GitHub (actions/checkout@v3). - -diff_latest() { - printf "Files modified in the latest pull request:\n" >&2 - local base_ref - if [[ $(git branch --show-current) == "develop" ]] - then - base_ref=$(git log --skip=1 -1 --merges --pretty=format:%H) - else - base_ref="origin/develop" - fi - git diff --name-only "$base_ref"...HEAD -} - -# Check if there were any dockerfiles modified in the latest pull request. -# Print the modified files list to stderr as well. -if diff_latest | tee >(cat >&2) | grep -i -q dockerfile -then - echo "docker compose build --pull" -else - echo "docker compose pull --ignore-pull-failures" -fi diff --git a/scripts/workflow-template.yml b/scripts/workflow-template.yml index b274a8dd..88941ede 100644 --- a/scripts/workflow-template.yml +++ b/scripts/workflow-template.yml @@ -47,22 +47,11 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) [% docker_target %] - - name: Build the Docker image + - name: Build and Test run: docker compose run [% docker_target %] env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push [% docker_target %] - - name: Zip up CMake output + - name: Collect logs run: | zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log diff --git a/scripts/workflows.ini b/scripts/workflows.ini index c240ea30..0686d6c1 100644 --- a/scripts/workflows.ini +++ b/scripts/workflows.ini @@ -12,7 +12,7 @@ build_type = release ulimit_core = 0 code_coverage = 0 -repo = lifflander1/checkpoint +repo = lifflander1/vt arch = amd64 is_ubuntu = 1 distro = 18.04 From 961dd0e1cd18c3777aef3d457d315bd1056edd7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Wed, 15 Jan 2025 15:11:52 +0100 Subject: [PATCH 02/12] #349: move Kokkos header inside the #if check --- tests/unit/test_kokkos_serialize_array.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/test_kokkos_serialize_array.cc b/tests/unit/test_kokkos_serialize_array.cc index 78ebc01b..ba691858 100644 --- a/tests/unit/test_kokkos_serialize_array.cc +++ b/tests/unit/test_kokkos_serialize_array.cc @@ -41,8 +41,8 @@ //@HEADER */ -#include #if MAGISTRATE_KOKKOS_ENABLED +#include #include "test_commons.h" From 12aa10e4b1bed94ee5657d4fe7d4c24f255f6245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Thu, 16 Jan 2025 18:32:40 +0100 Subject: [PATCH 03/12] #349: clean up gtest integration --- CMakeLists.txt | 23 +----- ci/deps/gtest.sh | 35 -------- docker-compose.yml | 1 + tests/CMakeLists.txt | 186 ++++++++++++++++++++++--------------------- 4 files changed, 98 insertions(+), 147 deletions(-) delete mode 100755 ci/deps/gtest.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 44fb1823..b9e8b7fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,9 +58,6 @@ if(magistrate_mpi_enabled) ) endif() -message (STATUS "Magistrate build tests: ${magistrate_tests_enabled}") -message (STATUS "Magistrate build examples: ${magistrate_examples_enabled}") - include(cmake/load_package.cmake) deprecated_option(checkpoint_doxygen_enabled magistrate_doxygen_enabled "Build doxygen documentation for magistrate" OFF) @@ -140,39 +137,25 @@ else() message(STATUS "Magistrate: building as top-level") endif() -# If magistrate build tests require the GTest package -if (${magistrate_tests_enabled}) - if(NOT hasParent) - find_package(GTest REQUIRED) - set(MAGISTRATE_HAS_GTEST TRUE) - else() - if (NOT DISABLE_TPL_GTEST) - set(MAGISTRATE_HAS_GTEST TRUE) - else() - set(MAGISTRATE_HAS_GTEST FALSE) - endif() - endif() -else() - set(MAGISTRATE_HAS_GTEST FALSE) -endif() - set(PROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) set(PROJECT_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/examples) set(PROJECT_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests) add_subdirectory(src) +message (STATUS "Magistrate build tests: ${magistrate_tests_enabled}") if (magistrate_tests_enabled AND "${CMAKE_PROJECT_NAME}" STREQUAL "${PROJECT_NAME}") # CTest implies enable_testing() and defines the BUILD_TESTING option. # The default of BUILD_TESTING is ON. - # Testing is only enabled if the actual project being built is VT. + # Testing is only enabled if the actual project being built is magistrate. include(CTest) add_custom_target(magistrate_tests) add_subdirectory(tests) endif() +message (STATUS "Magistrate build examples: ${magistrate_examples_enabled}") if(magistrate_examples_enabled) add_custom_target(magistrate_examples) add_subdirectory(examples) diff --git a/ci/deps/gtest.sh b/ci/deps/gtest.sh deleted file mode 100755 index be586cb7..00000000 --- a/ci/deps/gtest.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -set -exo pipefail - -if test $# -lt 2 -then - echo "usage: ./$0 " - exit 1 -fi - -gtest_version=$1 -gtest_zip_name=release-${gtest_version}.zip - -build_dir=$2 - -echo "${gtest_version}" -echo "${gtest_zip_name}" - -wget "http://github.com/google/googletest/archive/${gtest_zip_name}" - -unzip "${gtest_zip_name}" - -mkdir -p "${build_dir}" -pushd "${build_dir}" - -export gtest=/googletest-release-${gtest_version} -export gtest_build=${build_dir}/gtest -mkdir -p "$gtest_build" -cd "$gtest_build" -mkdir build -cd build -cmake -G "${CMAKE_GENERATOR:-Ninja}" \ - -DCMAKE_INSTALL_PREFIX="$gtest_build/install" \ - "$gtest" -cmake --build . --target install diff --git a/docker-compose.yml b/docker-compose.yml index 961945c9..9b96f92f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,6 +56,7 @@ volumes: amd64-ubuntu-20.04-gcc-8-cache: amd64-ubuntu-20.04-gcc-9-cache: amd64-ubuntu-20.04-gcc-10-cache: + amd64-ubuntu-22.04-gcc-11-cache: amd64-ubuntu-18.04-icc-18-cache: amd64-ubuntu-18.04-icc-19-cache: amd64-ubuntu-20.04-nvcc-11.2-cache: diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 107653ef..5f0dff01 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -2,6 +2,23 @@ set(PROJECT_TEST_UNIT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/unit) set(PROJECT_TEST_MPI_UNIT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/unit/tests_mpi) +find_package(GTest) +if (NOT GTest_FOUND) + include(FetchContent) + FetchContent_Declare( + googletest + DOWNLOAD_EXTRACT_TIMESTAMP FALSE + URL https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz + ) + FetchContent_MakeAvailable(googletest) +endif() + +message( + STATUS + "Magistrate: GTest package is found, unit tests are enabled " + "GTEST_ROOT=${GTEST_ROOT}" +) + if(magistrate_mpi_enabled) message(STATUS "Building unit tests with MPI") file( @@ -38,104 +55,89 @@ macro(magistrate_link_target target has_mpi) endif() endmacro() -if (magistrate_tests_enabled) - if (NOT MAGISTRATE_HAS_GTEST) - message( - STATUS - "Magistrate: Unit test are disabled because GoogleTest is not setup:" - "gtest_DIR=${gtest_DIR}" - ) - else() - message( - STATUS - "Magistrate: GTEST package is found: unit tests are enabled " - "gtest_DIR=${gtest_DIR}, GTEST_ROOT=${GTEST_ROOT}" - ) - set( - TEST_HEADER_FILES - ${PROJECT_TEST_UNIT_DIR}/test_commons.h - ${PROJECT_TEST_UNIT_DIR}/test_harness.h +set( + TEST_HEADER_FILES + ${PROJECT_TEST_UNIT_DIR}/test_commons.h + ${PROJECT_TEST_UNIT_DIR}/test_harness.h +) + +#System's threading library info (eg pthread) +find_package(Threads REQUIRED) + +if(magistrate_mpi_enabled) + set( + TEST_HEADER_FILES ${TEST_HEADER_FILES} + ${PROJECT_TEST_MPI_UNIT_DIR}/mpi-init.h + ${PROJECT_TEST_MPI_UNIT_DIR}/test_commons_mpi.h + ) +endif() + +set( + TEST_SOURCE_FILES + ${PROJECT_TEST_UNIT_DIR}/main.cc +) + +foreach(TEST_FULL ${PROJECT_TEST_LIST}) + GET_FILENAME_COMPONENT( + TEST + ${TEST_FULL} + NAME_WE + ) + + add_executable( + ${TEST} + ${TEST_SOURCE_FILES} ${TEST_HEADER_FILES} + ${PROJECT_TEST_UNIT_DIR}/${TEST}.cc + ) + + add_dependencies(magistrate_tests ${TEST}) + magistrate_link_target(${TEST} 0) + + add_test( + magistrate:${TEST} + ${CMAKE_CURRENT_BINARY_DIR}/${TEST} + ) + + set_tests_properties( + magistrate:${TEST} + PROPERTIES TIMEOUT 60 + FAIL_REGULAR_EXPRESSION "FAILED;should be deleted but never is" + PASS_REGULAR_EXPRESSION "PASSED" + ) +endforeach() + +if(magistrate_mpi_enabled) + foreach(TEST_FULL ${PROJECT_TEST_LIST_MPI}) + GET_FILENAME_COMPONENT( + TEST + ${TEST_FULL} + NAME_WE ) - #System's threading library info (eg pthread) - find_package(Threads REQUIRED) + add_executable( + ${TEST} + ${TEST_SOURCE_FILES} ${TEST_HEADER_FILES} + ${PROJECT_TEST_MPI_UNIT_DIR}/${TEST}.cc + ) - if(magistrate_mpi_enabled) - set( - TEST_HEADER_FILES ${TEST_HEADER_FILES} - ${PROJECT_TEST_MPI_UNIT_DIR}/mpi-init.h - ${PROJECT_TEST_MPI_UNIT_DIR}/test_commons_mpi.h - ) - endif() + magistrate_link_target(${TEST} 1) set( - TEST_SOURCE_FILES - ${PROJECT_TEST_UNIT_DIR}/main.cc + MAGISTRATE_TEST_PARAM_MPI ${MPI_NUMPROC_FLAG} + ${MAGISTRATE_MPI_PROC} "${CMAKE_CURRENT_BINARY_DIR}/${TEST}" + ) + add_test( + NAME magistrate:${TEST} + COMMAND ${MPI_RUN_COMMAND} ${MAGISTRATE_TEST_PARAM_MPI} ) - foreach(TEST_FULL ${PROJECT_TEST_LIST}) - GET_FILENAME_COMPONENT( - TEST - ${TEST_FULL} - NAME_WE - ) - - add_executable( - ${TEST} - ${TEST_SOURCE_FILES} ${TEST_HEADER_FILES} - ${PROJECT_TEST_UNIT_DIR}/${TEST}.cc - ) - - add_dependencies(magistrate_tests ${TEST}) - magistrate_link_target(${TEST} 0) - - add_test( - magistrate:${TEST} - ${CMAKE_CURRENT_BINARY_DIR}/${TEST} - ) - - set_tests_properties( - magistrate:${TEST} - PROPERTIES TIMEOUT 60 - FAIL_REGULAR_EXPRESSION "FAILED;should be deleted but never is" - PASS_REGULAR_EXPRESSION "PASSED" - ) - endforeach() - - if(magistrate_mpi_enabled) - foreach(TEST_FULL ${PROJECT_TEST_LIST_MPI}) - GET_FILENAME_COMPONENT( - TEST - ${TEST_FULL} - NAME_WE - ) - - add_executable( - ${TEST} - ${TEST_SOURCE_FILES} ${TEST_HEADER_FILES} - ${PROJECT_TEST_MPI_UNIT_DIR}/${TEST}.cc - ) - - magistrate_link_target(${TEST} 1) - - set( - MAGISTRATE_TEST_PARAM_MPI ${MPI_NUMPROC_FLAG} - ${MAGISTRATE_MPI_PROC} "${CMAKE_CURRENT_BINARY_DIR}/${TEST}" - ) - add_test( - NAME magistrate:${TEST} - COMMAND ${MPI_RUN_COMMAND} ${MAGISTRATE_TEST_PARAM_MPI} - ) - - set_tests_properties( - magistrate:${TEST} - PROPERTIES TIMEOUT 60 - FAIL_REGULAR_EXPRESSION "FAILED;should be deleted but never is" - PASS_REGULAR_EXPRESSION "PASSED" - ) - - endforeach() - endif() - endif() + set_tests_properties( + magistrate:${TEST} + PROPERTIES TIMEOUT 60 + FAIL_REGULAR_EXPRESSION "FAILED;should be deleted but never is" + PASS_REGULAR_EXPRESSION "PASSED" + ) + + endforeach() endif() From 14c038fdd57761fbc5cc8ea00f1a8c01dfb9bb56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Thu, 16 Jan 2025 19:10:56 +0100 Subject: [PATCH 04/12] #349: ci: update magistrate-vt tests --- .../dockerimage-clang-11-ubuntu-mpich-vt.yml | 15 ++------------- docker-compose.yml | 6 +++--- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml index 879ac2e4..036121d7 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: clang @@ -54,18 +54,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Prepare the base Docker image - shell: bash - run: $(./scripts/check_containers.sh) ubuntu-cpp-vt - - name: Build the Docker image + - name: Build and Test run: docker compose run ubuntu-cpp-vt env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Docker Push Base Image - if: ${{ success() && github.ref == 'refs/heads/develop' }} - continue-on-error: true - shell: bash - run: | - docker login -u ${{ secrets.DOCKER_USERNAME }} \ - -p ${{ secrets.DOCKER_PASSWORD }} - docker compose push ubuntu-cpp-vt diff --git a/docker-compose.yml b/docker-compose.yml index 9b96f92f..f548cc64 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -125,7 +125,7 @@ services: /checkpoint/ci/test_cpp.sh /checkpoint /build" ubuntu-cpp-vt: - image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp + image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp ulimits: *ulimits environment: <<: [*ccache, *checkpointopts] @@ -146,7 +146,7 @@ services: # $ /checkpoint/ci/build_cpp.sh /checkpoint /build # $ /checkpoint/ci/test_cpp.sh /checkpoint /build ubuntu-cpp-interactive: - image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp + image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp ulimits: *ulimits environment: <<: [*ccache, *checkpointopts] @@ -156,7 +156,7 @@ services: # Build documentation for Checkpoint in the container on ubuntu platform from # container baseline. ubuntu-docs: - image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-docs + image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-docs ulimits: *ulimits environment: <<: *ccache From 5343692e984bab3b9f4358f1b3f07bd905f496e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Thu, 16 Jan 2025 19:32:45 +0100 Subject: [PATCH 05/12] #349: ci: use Ubuntu 24.04 by default, drop gcc-8 build --- .../dockerimage-clang-11-ubuntu-mpich-vt.yml | 2 +- .../dockerimage-clang-11-ubuntu-mpich.yml | 2 +- .../dockerimage-clang-12-ubuntu-mpich.yml | 2 +- .../dockerimage-clang-8-ubuntu-mpich.yml | 2 +- .../dockerimage-clang-9-ubuntu-mpich.yml | 2 +- .../dockerimage-gcc-8-ubuntu-mpich.yml | 72 ------------------- scripts/workflows.ini | 14 ++-- 7 files changed, 10 insertions(+), 86 deletions(-) delete mode 100644 .github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml index 036121d7..7828c38f 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml @@ -16,7 +16,7 @@ jobs: env: REPO: lifflander1/vt ARCH: amd64 - UBUNTU: 20.04 + UBUNTU: 22.04 COMPILER_TYPE: clang COMPILER: clang-11 BUILD_TYPE: release diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml index 9dea7a98..ecf0957d 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml @@ -20,7 +20,7 @@ jobs: env: REPO: lifflander1/vt ARCH: amd64 - UBUNTU: 20.04 + UBUNTU: 22.04 COMPILER_TYPE: clang COMPILER: clang-11 BUILD_TYPE: release diff --git a/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml index f84c1ed8..7b6fc2f5 100644 --- a/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml @@ -20,7 +20,7 @@ jobs: env: REPO: lifflander1/vt ARCH: amd64 - UBUNTU: 20.04 + UBUNTU: 22.04 COMPILER_TYPE: clang COMPILER: clang-12 BUILD_TYPE: release diff --git a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml index e53a83c7..b4844907 100644 --- a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml @@ -20,7 +20,7 @@ jobs: env: REPO: lifflander1/vt ARCH: amd64 - UBUNTU: 18.04 + UBUNTU: 20.04 COMPILER_TYPE: clang COMPILER: clang-8 BUILD_TYPE: release diff --git a/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml index a829c34a..2ad8ab1c 100644 --- a/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml @@ -20,7 +20,7 @@ jobs: env: REPO: lifflander1/vt ARCH: amd64 - UBUNTU: 18.04 + UBUNTU: 20.04 COMPILER_TYPE: clang COMPILER: clang-9 BUILD_TYPE: release diff --git a/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml deleted file mode 100644 index 540f19cb..00000000 --- a/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml +++ /dev/null @@ -1,72 +0,0 @@ -############################################################################### -############## Warning this is a generated file---do not modify ############### -############################################################################### - -name: PR tests (gcc-8, ubuntu, mpich, address sanitizer) - -on: - push: - branches: - - develop - - 1.* - pull_request: - -jobs: - - build: - - runs-on: ubuntu-latest - - env: - REPO: lifflander1/vt - ARCH: amd64 - UBUNTU: 18.04 - COMPILER_TYPE: gnu - COMPILER: gcc-8 - BUILD_TYPE: release - ULIMIT_CORE: 0 - CODE_COVERAGE: 0 - MAGISTRATE_TESTS: 1 - MAGISTRATE_EXAMPLES: 1 - MAGISTRATE_MPI: 1 - MAGISTRATE_WARNINGS_AS_ERRORS: 1 - MAGISTRATE_DOCS: 0 - MAGISTRATE_ASAN: 1 - MAGISTRATE_UBSAN: 0 - MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 - CACHE: ~/.local/cache/ - - steps: - - name: Setup Build Root - run: | - echo "BUILD_ROOT=~/.local/cache/${{ env.ARCH }}-ubuntu-${{ env.UBUNTU }}-${{ env.COMPILER }}-cache" >> $GITHUB_ENV - - name: Prepare caching timestamp - run: | - echo "timestamp=$(TZ=UTC date +"%Y-%m-%d-%H;%M;%S")" >> $GITHUB_ENV - - uses: actions/cache@v4 - env: - cache-name: ubuntu-gcc-8-cache - with: - path: ${{ env.BUILD_ROOT }}/ccache - key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.timestamp }} - restore-keys: | - ${{ runner.os }}-${{ env.cache-name }}- - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Build and Test - run: docker compose run ubuntu-cpp - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Collect logs - run: | - zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log - zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log - - uses: actions/upload-artifact@v4 - with: - name: CMake test output - path: cmake-output.log.gz - - uses: actions/upload-artifact@v4 - with: - name: CMake full output - path: LastTest.log.gz diff --git a/scripts/workflows.ini b/scripts/workflows.ini index 0686d6c1..c2ef0f87 100644 --- a/scripts/workflows.ini +++ b/scripts/workflows.ini @@ -15,7 +15,7 @@ code_coverage = 0 repo = lifflander1/vt arch = amd64 is_ubuntu = 1 -distro = 18.04 +distro = 24.04 linux = ubuntu cache_dir = "~/.local/cache/" cache_name = "[% linux %]-[% compiler %]-cache" @@ -27,12 +27,6 @@ workflow_runs_on = ubuntu-latest build_root = "~/.local/cache/${{ env.ARCH }}-[% linux %]-${{ env.UBUNTU }}-${{ env.COMPILER }}-cache" linux_env = " UBUNTU: [% distro %]" -[PR-tests-gcc-8] -test_configuration = "gcc-8, ubuntu, mpich, address sanitizer" -compiler_type = gnu -compiler = gcc-8 -output_name = .github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml - [PR-tests-gcc-9] test_configuration = "gcc-9, ubuntu, mpich" compiler_type = gnu @@ -54,6 +48,7 @@ test_configuration = "clang-8, ubuntu, mpich" compiler_type = clang compiler = clang-8 output_name = .github/workflows/dockerimage-clang-8-ubuntu-mpich.yml +distro = 20.04 checkpoint_asan = 0 checkpoint_ubsan = 1 @@ -62,6 +57,7 @@ test_configuration = "clang-9, ubuntu, mpich" compiler_type = clang compiler = clang-9 output_name = .github/workflows/dockerimage-clang-9-ubuntu-mpich.yml +distro = 20.04 [PR-tests-clang-10] test_configuration = "clang-10, ubuntu, mpich" @@ -75,14 +71,14 @@ test_configuration = "clang-11, ubuntu, mpich" compiler_type = clang compiler = clang-11 output_name = .github/workflows/dockerimage-clang-11-ubuntu-mpich.yml -distro = 20.04 +distro = 22.04 [PR-tests-clang-12] test_configuration = "clang-12, ubuntu, mpich" compiler_type = clang compiler = clang-12 output_name = .github/workflows/dockerimage-clang-12-ubuntu-mpich.yml -distro = 20.04 +distro = 22.04 [PR-tests-clang-13] test_configuration = "clang-13, ubuntu, mpich" From 883e12f996d30e6e5948a6b6937cb7ef08f2043a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Thu, 16 Jan 2025 20:01:02 +0100 Subject: [PATCH 06/12] #349: ci: fix nvidia workflow definition --- .github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml | 4 ++-- scripts/workflows.ini | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml index 97acdeac..7958b4e6 100644 --- a/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml @@ -22,7 +22,7 @@ jobs: ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: nvidia - COMPILER: 11.2.2 + COMPILER: gcc-9-cuda-11.2.2 BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 @@ -45,7 +45,7 @@ jobs: echo "timestamp=$(TZ=UTC date +"%Y-%m-%d-%H;%M;%S")" >> $GITHUB_ENV - uses: actions/cache@v4 env: - cache-name: ubuntu-nvcc-11.2.2-cache + cache-name: ubuntu-nvcc-gcc-9-cuda-11.2.2-cache with: path: ${{ env.BUILD_ROOT }}/ccache key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.timestamp }} diff --git a/scripts/workflows.ini b/scripts/workflows.ini index c2ef0f87..2867e8ef 100644 --- a/scripts/workflows.ini +++ b/scripts/workflows.ini @@ -97,7 +97,7 @@ distro = 22.04 [PR-tests-nvidia-11] test_configuration = "nvcc-11.2, ubuntu, mpich" compiler_type = nvidia -compiler = 11.2.2 +compiler = gcc-9-cuda-11.2.2 cache_name = "[% linux %]-nvcc-[% compiler %]-cache" output_name = .github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml checkpoint_asan = 0 From 755c149824083b7779a3ba72d4563c5d1e0acc3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Thu, 16 Jan 2025 20:06:35 +0100 Subject: [PATCH 07/12] #349: ci: disable asan in clang-11 build --- .github/workflows/dockerimage-clang-11-ubuntu-mpich.yml | 2 +- scripts/workflows.ini | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml index ecf0957d..34e4164e 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml @@ -31,7 +31,7 @@ jobs: MAGISTRATE_MPI: 1 MAGISTRATE_WARNINGS_AS_ERRORS: 1 MAGISTRATE_DOCS: 0 - MAGISTRATE_ASAN: 1 + MAGISTRATE_ASAN: 0 MAGISTRATE_UBSAN: 0 MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ diff --git a/scripts/workflows.ini b/scripts/workflows.ini index 2867e8ef..9c80cd93 100644 --- a/scripts/workflows.ini +++ b/scripts/workflows.ini @@ -72,6 +72,7 @@ compiler_type = clang compiler = clang-11 output_name = .github/workflows/dockerimage-clang-11-ubuntu-mpich.yml distro = 22.04 +checkpoint_asan = 0 [PR-tests-clang-12] test_configuration = "clang-12, ubuntu, mpich" From 27f9bc6e831c861ef4b654106191dcd0cb624abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Thu, 16 Jan 2025 20:08:35 +0100 Subject: [PATCH 08/12] #349: ci: disable asan and ubsan in magistrate-vt build --- .github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml | 4 ++-- ci/build_against_vt.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml index 7828c38f..253ca439 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml @@ -27,8 +27,8 @@ jobs: MAGISTRATE_MPI: 1 MAGISTRATE_WARNINGS_AS_ERRORS: 1 MAGISTRATE_DOCS: 0 - MAGISTRATE_ASAN: 1 - MAGISTRATE_UBSAN: 1 + MAGISTRATE_ASAN: 0 + MAGISTRATE_UBSAN: 0 MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ diff --git a/ci/build_against_vt.sh b/ci/build_against_vt.sh index ee4c74ae..c1314437 100755 --- a/ci/build_against_vt.sh +++ b/ci/build_against_vt.sh @@ -64,7 +64,7 @@ cmake -G "${CMAKE_GENERATOR:-Ninja}" \ -Dvt_trace_only="${VT_BUILD_TRACE_ONLY:-0}" \ -Dvt_doxygen_enabled="${VT_DOXYGEN_ENABLED:-0}" \ -Dvt_mimalloc_enabled="${VT_MIMALLOC_ENABLED:-0}" \ - -Dvt_asan_enabled="${VT_ASAN_ENABLED:-1}" \ + -Dvt_asan_enabled="${VT_ASAN_ENABLED:-0}" \ -Dvt_werror_enabled="${VT_WERROR_ENABLED:-0}" \ -Dvt_pool_enabled="${VT_POOL_ENABLED:-1}" \ -Dvt_build_extended_tests="${VT_EXTENDED_TESTS_ENABLED:-1}" \ From 5f5b26869028ae7f3c92ab335213d60e4b94486b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Fri, 17 Jan 2025 14:29:06 +0100 Subject: [PATCH 09/12] #349: ci: remove duplicated scripts --- ci/deps/cmake.sh | 36 ------------------------------------ ci/deps/mpich.sh | 37 ------------------------------------- 2 files changed, 73 deletions(-) delete mode 100755 ci/deps/cmake.sh delete mode 100755 ci/deps/mpich.sh diff --git a/ci/deps/cmake.sh b/ci/deps/cmake.sh deleted file mode 100755 index a7a173de..00000000 --- a/ci/deps/cmake.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -set -exo pipefail - -if test $# -lt 1 -then - echo "usage: ./$0 " - exit 1 -fi - -cmake_version=$1 -arch=x86_64 - -if test $# -gt 1 -then - arch=$2 -fi - -if test "${arch}" = "arm64v8" -then - arch=aarch64 -fi - -if test "${arch}" = "amd64" -then - arch=x86_64 -fi - -cmake_tar_name=cmake-${cmake_version}-linux-$arch.tar.gz - -echo "${cmake_version}" -echo "${cmake_tar_name}" - -wget http://github.com/Kitware/CMake/releases/download/v${cmake_version}/${cmake_tar_name} - -tar xzf ${cmake_tar_name} --one-top-level=cmake --strip-components 1 diff --git a/ci/deps/mpich.sh b/ci/deps/mpich.sh deleted file mode 100755 index 095fcef4..00000000 --- a/ci/deps/mpich.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -set -exo pipefail - -if test $# -lt 2 -then - echo "usage: ./$0 " - exit 1 -fi - -mpich_version=$1 -mpich_name="mpich-${mpich_version}" -mpich_tar_name="${mpich_name}.tar.gz" -make_flags="$2" - -echo "${mpich_version}" -echo "${mpich_name}" -echo "${mpich_tar_name}" -echo "${make_flags}" - -wget http://www.mpich.org/static/downloads/"${mpich_version}"/"${mpich_tar_name}" -tar xzf "${mpich_tar_name}" -rm "${mpich_tar_name}" -cd "${mpich_name}" -./configure \ - --enable-static=false \ - --enable-alloca=true \ - --disable-long-double \ - --enable-threads=single \ - --enable-fortran=no \ - --enable-fast=all \ - --enable-g=none \ - --enable-timing=none -make "${make_flags}" -make install -cd - -rm -rf "${mpich_name}" From 9cd2b0faf74ab30683e5ad58f91600688c720ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Fri, 17 Jan 2025 15:45:27 +0100 Subject: [PATCH 10/12] #349: ci: use gcc-9 build for docs --- .github/workflows/build-docs.yml | 4 ++-- docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 03238c47..1631dc0d 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -12,11 +12,11 @@ jobs: runs-on: ubuntu-latest env: - REPO: lifflander1/checkpoint + REPO: lifflander1/vt ARCH: amd64 UBUNTU: 20.04 COMPILER_TYPE: gnu - COMPILER: gcc-8 + COMPILER: gcc-9 BUILD_TYPE: release ULIMIT_CORE: 0 TOKEN: ${{ secrets.GH_PAT }} diff --git a/docker-compose.yml b/docker-compose.yml index f548cc64..ba9a0e8e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -156,7 +156,7 @@ services: # Build documentation for Checkpoint in the container on ubuntu platform from # container baseline. ubuntu-docs: - image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-docs + image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp ulimits: *ulimits environment: <<: *ccache From e93e041026a703505ec5910fa4cdf090ac02e236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Fri, 17 Jan 2025 16:34:09 +0100 Subject: [PATCH 11/12] #349: ci: remove `pushdockerimage` workflow --- .github/workflows/pushdockerimage.yml | 30 --------------------------- 1 file changed, 30 deletions(-) delete mode 100644 .github/workflows/pushdockerimage.yml diff --git a/.github/workflows/pushdockerimage.yml b/.github/workflows/pushdockerimage.yml deleted file mode 100644 index f8795b64..00000000 --- a/.github/workflows/pushdockerimage.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Docker Image CI - -on: - # Trigger the workflow on push or pull request, - # but only for the master branch - push: - branches: - - develop - - 1.* - -jobs: - - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: Docker Build & Push - uses: jerray/publish-docker-action@master - with: - # Name of the Docker image - repository: lifflander1/checkpoint - # Target Docker registry - registry: docker.io - auto_tag: true - # Docker registry username - username: ${{ secrets.DOCKER_USERNAME }} - # Docker registry password - password: ${{ secrets.DOCKER_PASSWORD }} From b7aa32a1b2034e40727faaa59fcbd831e0c6046d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Skrzy=C5=84ski?= Date: Mon, 20 Jan 2025 19:07:51 +0100 Subject: [PATCH 12/12] #349: ci: remove clang-8 build --- .../dockerimage-clang-8-ubuntu-mpich.yml | 72 ------------------- scripts/workflows.ini | 9 --- 2 files changed, 81 deletions(-) delete mode 100644 .github/workflows/dockerimage-clang-8-ubuntu-mpich.yml diff --git a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml deleted file mode 100644 index b4844907..00000000 --- a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml +++ /dev/null @@ -1,72 +0,0 @@ -############################################################################### -############## Warning this is a generated file---do not modify ############### -############################################################################### - -name: PR tests (clang-8, ubuntu, mpich) - -on: - push: - branches: - - develop - - 1.* - pull_request: - -jobs: - - build: - - runs-on: ubuntu-latest - - env: - REPO: lifflander1/vt - ARCH: amd64 - UBUNTU: 20.04 - COMPILER_TYPE: clang - COMPILER: clang-8 - BUILD_TYPE: release - ULIMIT_CORE: 0 - CODE_COVERAGE: 0 - MAGISTRATE_TESTS: 1 - MAGISTRATE_EXAMPLES: 1 - MAGISTRATE_MPI: 1 - MAGISTRATE_WARNINGS_AS_ERRORS: 1 - MAGISTRATE_DOCS: 0 - MAGISTRATE_ASAN: 0 - MAGISTRATE_UBSAN: 1 - MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 - CACHE: ~/.local/cache/ - - steps: - - name: Setup Build Root - run: | - echo "BUILD_ROOT=~/.local/cache/${{ env.ARCH }}-ubuntu-${{ env.UBUNTU }}-${{ env.COMPILER }}-cache" >> $GITHUB_ENV - - name: Prepare caching timestamp - run: | - echo "timestamp=$(TZ=UTC date +"%Y-%m-%d-%H;%M;%S")" >> $GITHUB_ENV - - uses: actions/cache@v4 - env: - cache-name: ubuntu-clang-8-cache - with: - path: ${{ env.BUILD_ROOT }}/ccache - key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.timestamp }} - restore-keys: | - ${{ runner.os }}-${{ env.cache-name }}- - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Build and Test - run: docker compose run ubuntu-cpp - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - name: Collect logs - run: | - zip -j LastTest.log.gz ${{ env.BUILD_ROOT }}/checkpoint/Testing/Temporary/LastTest.log - zip -j cmake-output.log.gz ${{ env.BUILD_ROOT }}/checkpoint/cmake-output.log - - uses: actions/upload-artifact@v4 - with: - name: CMake test output - path: cmake-output.log.gz - - uses: actions/upload-artifact@v4 - with: - name: CMake full output - path: LastTest.log.gz diff --git a/scripts/workflows.ini b/scripts/workflows.ini index 9c80cd93..2f666c11 100644 --- a/scripts/workflows.ini +++ b/scripts/workflows.ini @@ -43,15 +43,6 @@ compiler = gcc-10 output_name = .github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml distro = 20.04 -[PR-tests-clang-8] -test_configuration = "clang-8, ubuntu, mpich" -compiler_type = clang -compiler = clang-8 -output_name = .github/workflows/dockerimage-clang-8-ubuntu-mpich.yml -distro = 20.04 -checkpoint_asan = 0 -checkpoint_ubsan = 1 - [PR-tests-clang-9] test_configuration = "clang-9, ubuntu, mpich" compiler_type = clang