Skip to content

Commit

Permalink
Update docker images and switch to GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
adayton1 committed Jul 25, 2024
1 parent 390d640 commit 0a32f51
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 103 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
on: push
name: Build
jobs:
build_docker:
strategy:
matrix:
target: [gcc, clang, intel, cuda, hip, sycl]
runs-on: ubuntu-latest
steps:
- run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v6
with:
target: ${{ matrix.target }}
build_mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: threeal/cmake-action@v1.3.0
with:
build-dir: build
options:
ENABLE_WARNINGS_AS_ERRORS=Off
CMAKE_BUILD_TYPE=Release
run-build: true
build-args: '--parallel 16'
- uses: threeal/ctest-action@v1.1.0
build_windows:
strategy:
matrix:
shared:
- args:
BUILD_SHARED_LIBS=On
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=On
- args: BUILD_SHARED_LIBS=Off

runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: threeal/cmake-action@v1.3.0
with:
build-dir: build
options:
ENABLE_WARNINGS_AS_ERRORS=Off
CMAKE_BUILD_TYPE=Release
${{ matrix.shared.args }}
run-build: true
build-args: '--parallel 16'
76 changes: 18 additions & 58 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,88 +1,48 @@
FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-7.3.0 AS gcc7
FROM ghcr.io/llnl/radiuss:ubuntu-22.04-gcc-13 AS gcc
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DENABLE_COVERAGE=On -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
RUN cmake -DENABLE_COVERAGE=On -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-8.1.0 AS gcc8
FROM ghcr.io/llnl/radiuss:clang-15-ubuntu-22.04 AS clang
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-18.04:gcc-9.4.0 AS gcc9
FROM ghcr.io/llnl/radiuss:intel-2024.0-ubuntu-20.04 AS intel
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_C_COMPILER=icx -DENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16 && \
ctest -T test --output-on-failure
ctest -T test --output-on-failure"

FROM ghcr.io/rse-ops/gcc-ubuntu-18.04:gcc-11.2.0 AS gcc11
FROM ghcr.io/llnl/radiuss:ubuntu-22.04-cuda-12-3 AS cuda
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-20.04:llvm-10.0.0 AS clang10
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-11.0.0 AS clang11
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-12.0.0 AS clang12
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-13.0.0 AS clang13
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/cuda:cuda-10.1.243-ubuntu-18.04 AS nvcc10
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DENABLE_CUDA=On -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_ARCHITECTURES=70 .. && \
make -j 16

FROM ghcr.io/rse-ops/cuda-ubuntu-20.04:cuda-11.1.1 AS nvcc11
# TODO: switch to ROCM 6
FROM ghcr.io/llnl/radiuss:hip-5.6.1-ubuntu-20.04 AS hip
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_C_COMPILER=amdclang -DENABLE_HIP=On -DENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16

FROM ghcr.io/rse-ops/hip-ubuntu-22.04:hip-5.1.3 AS hip
FROM ghcr.io/llnl/radiuss:intel-2024.0-ubuntu-20.04 AS sycl
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && spack load hip llvm-amdgpu && \
cmake -DENABLE_WARNINGS_AS_ERRORS=Off -DCHAI_ENABLE_MANAGED_PTR=Off -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_C_COMPILER=amdclang -DENABLE_HIP=On .. && \
make -j 16 VERBOSE=1
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=dpcpp -DCMAKE_C_COMPILER=icx -DENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16"
45 changes: 0 additions & 45 deletions azure-pipelines.yml

This file was deleted.

0 comments on commit 0a32f51

Please sign in to comment.