Skip to content

Commit

Permalink
new docker build with clang asan build recipe
Browse files Browse the repository at this point in the history
  • Loading branch information
cyrush committed Jul 15, 2024
1 parent 608052c commit 395ced8
Show file tree
Hide file tree
Showing 11 changed files with 91 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG ARCH_TAG="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-cuda-11.4.3-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-cuda-11.4.3-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG ARCH_TAG="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-cuda-12.1.1-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-cuda-12.1.1-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG ARCH_TAG="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG ARCH_TAG="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-5.1.3-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-5.1.3-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG ARCH_TAG="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
#!/bin/bash
set -ev

cmake_install_dir=/cmake-3.23.2-linux-x86_64
export CMAKE_ARCH=`uname -m`

if [[ ${CMAKE_ARCH} == "arm64" ]]; then
export CMAKE_ARCH="aarch64"
fi

cmake_install_dir=/cmake-3.23.2-linux-${CMAKE_ARCH}
if [ ! -d ${cmake_install_dir} ]; then
echo "**** Downloading ${hdf5_tarball}"
# setup cmake in container
curl -L https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-x86_64.tar.gz -o cmake-3.23.2-linux-x86_64.tar.gz
tar -xzf cmake-3.23.2-linux-x86_64.tar.gz
curl -L https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz -o cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz
tar -xzf cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz
fi

export PATH=$PATH:/${cmake_install_dir}/bin/
Expand Down
2 changes: 2 additions & 0 deletions scripts/ci/docker/alpinedav_ubuntu_22.04_devel/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ RUN apt-get update && apt-get -y install \
python3 \
python3-dev \
python-is-python3 \
clang \
llvm \
perl \
git \
git-lfs \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright (c) Lawrence Livermore National Security, LLC and other Ascent
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG TAG_ARCH=x86_64
FROM alpinedav/ascent-devel:ubuntu-22.04-${TAG_ARCH}

ENV TAG_ARCH ${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
COPY ascent.docker.src.tar.gz /
# extract
RUN tar -xzf ascent.docker.src.tar.gz

# copy spack build script in
COPY docker_uberenv_build.sh docker_env_setup.sh /
RUN chmod -R a+x /*.sh

RUN /docker_uberenv_build.sh

RUN /docker_env_setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
# Copyright (c) Lawrence Livermore National Security, LLC and other Ascent
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.
set -ev

export REPO_NAME="ascent"
export TAG_ARCH=`uname -m`
export TAG_BASE=alpinedav/ascent-devel:ubuntu-22.04-clang-14-${TAG_ARCH}-build-ascent-tpls

date

python3 ../../../docker_build_and_tag.py ${REPO_NAME} ${TAG_ARCH} ${TAG_BASE}

date
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# create some helper scripts
python ascent/scripts/gen_spack_env_script.py cmake mpi
echo "git clone --recursive https://github.com/Alpine-DAV/ascent.git" > clone.sh
chmod +x clone.sh

# delete copy of source from host (ci will fetch new from repo)
rm -rf ascent
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash
set -ev

export CMAKE_ARCH=`uname -m`

if [[ ${CMAKE_ARCH} == "arm64" ]]; then
export CMAKE_ARCH="aarch64"
fi

cmake_install_dir=/cmake-3.23.2-linux-${CMAKE_ARCH}
if [ ! -d ${cmake_install_dir} ]; then
# setup cmake in container
curl -L https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz -o cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz
tar -xzf cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz
fi

export PATH=$PATH:/${cmake_install_dir}/bin/

export CFLAGS="-fsanitize=address"
export CXXFLAGS="-fsanitize=address"

# build tpls with helper script /w clang and
chmod +x ascent/scripts/build_ascent/build_ascent.sh
# bi
env CXX=clang++ CC=clang enable_tests=OFF build_ascent=false ascent/scripts/build_ascent/build_ascent.sh

0 comments on commit 395ced8

Please sign in to comment.