Skip to content

setup GitHub actions CI and docker images #17

setup GitHub actions CI and docker images

setup GitHub actions CI and docker images #17

name: ShivaCI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# code_style:
# needs: [check_pull_request_is_not_a_draft]
# runs-on: ubuntu-22.04
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v3
# with:
# submodules: true
# lfs: false
# - name: Check style
# env:
# DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
# CMAKE_BUILD_TYPE: Release
# BUILD_AND_TEST_ARGS: --test-code-style
# run: ./scripts/ci_build_and_test.sh
# documentation:
# needs: [check_pull_request_is_not_a_draft]
# runs-on: ubuntu-22.04
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v3
# with:
# submodules: true
# lfs: false
# - name: Check documentation
# env:
# DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
# CMAKE_BUILD_TYPE: Release
# BUILD_AND_TEST_ARGS: --test-documentation
# run: ./scripts/ci_build_and_test.sh
linux_builds:
name: ${{matrix.name}}
runs-on: ${{matrix.os}}
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
include:
- name: ubi8.8-clang15-debug
DOCKER_REPOSITORY: geosx/ubi8:ubi8.8
OS: ubuntu-22.04
CMAKE_CXX_COMPILER: clang++
CMAKE_C_COMPILER: clang
CMAKE_BUILD_TYPE: Debug
- name: ubi8.8-clang15-release
DOCKER_REPOSITORY: geosx/ubi8:ubi8.8
OS: ubuntu-22.04
CMAKE_CXX_COMPILER: clang++
CMAKE_C_COMPILER: clang
CMAKE_BUILD_TYPE: Release
CLANGTIDY_EXECUTABLE: clang-tidy
- name: ubi8.8-gcc12-debug
DOCKER_REPOSITORY: geosx/ubi8:ubi8.8
OS: ubuntu-22.04
CMAKE_CXX_COMPILER: /opt/rh/gcc-toolset-12/root/bin/g++
CMAKE_C_COMPILER: /opt/rh/gcc-toolset-12/root/bin/gcc
CMAKE_BUILD_TYPE: Debug
- name: ubi8.8-gcc12-release
DOCKER_REPOSITORY: geosx/ubi8:ubi8.8
OS: ubuntu-22.04
CMAKE_CXX_COMPILER: /opt/rh/gcc-toolset-12/root/bin/g++
CMAKE_C_COMPILER: /opt/rh/gcc-toolset-12/root/bin/gcc
CMAKE_BUILD_TYPE: Release
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
submodules: true
lfs: false
- name: Print environment
run: printenv
- name: Build and test
env:
DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }}
CMAKE_CXX_COMPILER: ${{ matrix.CMAKE_CXX_COMPILER }}
CMAKE_C_COMPILER: ${{ matrix.CMAKE_C_COMPILER }}
CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }}
HOST_CONFIG: hostconfigs/environment.cmake
run: ./scripts/ci_build_and_test.sh