Skip to content

Transition to Github Actions #18

Transition to Github Actions

Transition to Github Actions #18

Workflow file for this run

on:
pull_request:
name: Build
jobs:
build_docker:
name: Docker (${{ matrix.name }})
strategy:
fail-fast: false
matrix:
include:
- name: gcc11-debug
target: gcc11_debug
- name: gcc11
target: gcc11
- name: gcc-14
target: gcc14
- name: clang19
target: clang19
- name: nvcc12
target: nvcc12
- name: nvcc12-debug
target: nvcc12_debug
- name: rocm6_4_3
target: rocm6_4_3
- name: rocm_latest
target: rocm_latest
- name: sycl
target: sycl
# - name: gcc11-debug
# base_img: gcc
# ver: 11
# compiler: g++
# pre_cmd: "true"
# build_type: Debug
# cmake_extra: -DENABLE_WARNINGS_AS_ERRORS=On -DENABLE_COVERAGE=On
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: gcc11
# base_img: gcc
# ver: 11
# compiler: g++
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: ""
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: gcc-14
# base_img: gcc
# ver: 14
# compiler: g++
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: ""
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: clang19
# base_img: clang
# ver: 19
# compiler: clang++
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: ""
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: nvcc12
# base_img: nvcc
# ver: 12.0.0
# compiler: g++
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: -DENABLE_CUDA=On -DCMAKE_CUDA_ARCHITECTURES=70
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: nvcc12-debug
# base_img: nvcc
# ver: 12.2.2
# compiler: g++
# pre_cmd: "true"
# build_type: Debug
# cmake_extra: -DENABLE_CUDA=On -DCMAKE_CUDA_ARCHITECTURES=70
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: rocm-6.4.3
# base_img: rocm
# ver: 6.4.3
# compiler: /opt/rocm/llvm/bin/amdclang++
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: -DROCM_PATH=/opt/rocm -DENABLE_HIP=On -DENABLE_OPENMP=Off -DENABLE_CUDA=Off
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: rocm-latest
# base_img: rocm
# ver: latest
# compiler: /opt/rocm/llvm/bin/amdclang++
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: -DROCM_PATH=/opt/rocm -DENABLE_HIP=On -DENABLE_OPENMP=Off -DENABLE_CUDA=Off
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
# - name: sycl
# base_img: oneapi
# ver: latest
# compiler: dpcpp
# pre_cmd: "true"
# build_type: RelWithDebInfo
# cmake_extra: -DENABLE_SYCL=On
# ctest_extra: "-E '(.*offload|blt.*smoke|cuda_.*|hip_.*|CampEvent|CampResource)'"
# parallel: 4
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 }}
#target: test
#build-args: |
# BASE_IMG=${{ matrix.base_img }}
# VER=${{ matrix.ver }}
# COMPILER=${{ matrix.compiler }}
# PRE_CMD=${{ matrix.pre_cmd }}
# BUILD_TYPE=${{ matrix.build_type }}
# CMAKE_EXTRA=${{ matrix.cmake_extra }}
# CTEST_EXTRA=${{ matrix.ctest_extra }}
# PARALLEL=${{ matrix.parallel }}
# CMAKE_BUILD_OPTS=--build build --verbose --parallel ${{ matrix.parallel }}
build_mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: threeal/cmake-action@v1.3.0
with:
cmake-version: '3.29.x' # Back off version of cmake with known issue
build-dir: build
options:
CMAKE_CXX_STANDARD=20
ENABLE_OPENMP=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
## ====================================
## Config and build action
- uses: threeal/cmake-action@v1.3.0
with:
cmake-version: '3.29.x' # Back off version of cmake with known issue
build-dir: build
options:
ENABLE_WARNINGS_AS_ERRORS=Off
BLT_CXX_STD="c++20"
CMAKE_CXX_STANDARD=20
CMAKE_BUILD_TYPE=Release
${{ matrix.shared.args }}
run-build: true
build-args: '--config Release --parallel 16'
## ====================================
## Print the contents of the test directory in the build space (debugging)
## - run: |
## dir -r D:\a\RAJA\RAJA\build\test
## ====================================
## Run tests action
- uses: threeal/ctest-action@v1.1.0
with:
build-config: Release