Add Gitlab CI #3026
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: {} | |
pull_request: | |
types: [opened, labeled, synchronize] | |
branches: | |
- master | |
jobs: | |
docker-image: | |
uses: ./.github/workflows/docker.yml | |
code-style: | |
runs-on: ubuntu-latest | |
needs: [docker-image] | |
container: | |
image: ghcr.io/llnl/librom/librom_env:latest | |
options: --user 1001 --privileged | |
steps: | |
- name: Cancel previous runs | |
uses: styfle/cancel-workflow-action@0.11.0 | |
with: | |
access_token: ${{ github.token }} | |
- name: Check out libROM | |
uses: actions/checkout@v3 | |
- name: Artistic Style version (for information) | |
run: astyle --version | |
- name: Check Stylization | |
run: | | |
cd ${GITHUB_WORKSPACE}/scripts | |
./stylize.sh astyle | |
linux: | |
runs-on: ubuntu-latest | |
needs: [docker-image] | |
container: | |
image: ghcr.io/llnl/librom/librom_env:latest | |
options: --user 1001 --privileged | |
volumes: | |
- /mnt:/mnt | |
steps: | |
- name: Cancel previous runs | |
uses: styfle/cancel-workflow-action@0.11.0 | |
with: | |
access_token: ${{ github.token }} | |
- name: Set Swap Space | |
uses: pierotofy/set-swap-space@master | |
with: | |
swap-size-gb: 10 | |
- name: Check out libROM | |
uses: actions/checkout@v3 | |
- name: Build libROM | |
run: | | |
mkdir ${GITHUB_WORKSPACE}/build | |
cd ${GITHUB_WORKSPACE}/build | |
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Debug -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB} -DENABLE_TESTS=ON -DMPIEXEC_PREFLAGS="--oversubscribe" -DMPIEXEC_MAX_NUMPROCS=4 | |
make -j 4 | |
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Optimized -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB} -DENABLE_TESTS=ON -DMPIEXEC_PREFLAGS="--oversubscribe" -DMPIEXEC_MAX_NUMPROCS=4 | |
make -j 4 | |
- name: Build baseline libROM | |
if: ${{ github.event.label.name == 'LGTM' || contains(github.event.pull_request.labels.*.name, 'LGTM') }} | |
run: | | |
cd ${GITHUB_WORKSPACE}/dependencies | |
git clone https://github.com/LLNL/libROM.git | |
cd libROM | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Debug -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB} | |
make | |
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Optimized -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB} | |
make | |
- uses: ./.github/workflows/run_tests | |
# mac: | |
# runs-on: macos-latest | |
# steps: | |
# - name: Install Mac dependencies | |
# run: | | |
# brew install open-mpi | |
# brew install openblas | |
# brew install lapack | |
# brew install scalapack | |
# brew install hdf5 | |
# - name: Check out libROM | |
# uses: actions/checkout@v2 | |
# - uses: ./.github/workflows/checkout_repo | |
# - name: Build libROM | |
# run: | | |
# export FC=/usr/local/bin/gfortran-10 | |
# mkdir ${GITHUB_WORKSPACE}/build | |
# cd ${GITHUB_WORKSPACE}/build | |
# cmake -DCMAKE_BUILD_TYPE=Debug .. | |
# make | |
# cmake -DCMAKE_BUILD_TYPE=Optimized .. | |
# make | |
# - uses: ./.github/workflows/run_tests |