Skip to content

CI

CI #880

Workflow file for this run

---
name: CI
on:
release:
type:
- created
push:
branches:
- master
pull_request:
branches:
- master
schedule:
# Weekly on Sundays:
- cron: '00 04 * * 0'
workflow_dispatch:
env:
TEST_SCRIPT: ./build.sh
jobs:
lint:
name: Lint sources
runs-on: ubuntu-20.04
steps:
- name: Check out sources
uses: actions/checkout@v3
- name: Prepare container
run: ./scripts/prepare-container-focal.sh
- run: bundle install
- run: bundle exec danger || true
- run: BML_OPENMP=no EMACS=emacs27 ./build.sh --debug check_indent
- uses: actions/upload-artifact@v3
if: failure()
with:
name: lint-artifacts
path: |
**/*.indented
build.log
docs:
name: Build docs
runs-on: ubuntu-20.04
steps:
- name: Check out sources
uses: actions/checkout@v3
- name: Prepare container
run: ./scripts/prepare-container-focal.sh
- name: Build docs
run: ./build.sh --debug docs
build_osx:
name: Build and test the library on OS-X Server (${{ matrix.JOBNAME }})
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- JOBNAME: gcc-11 C single real
TEST_SCRIPT: ./scripts/ci-gcc-11-C-single-real.sh
- JOBNAME: gcc-11 C double real
TEST_SCRIPT: ./scripts/ci-gcc-11-C-double-real.sh
- JOBNAME: gcc-11 C single complex
TEST_SCRIPT: ./scripts/ci-gcc-11-C-single-complex.sh
- JOBNAME: gcc-11 C double complex
TEST_SCRIPT: ./scripts/ci-gcc-11-C-double-complex.sh
- JOBNAME: gcc-11 Fortran single real
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-single-real.sh
- JOBNAME: gcc-11 Fortran double real
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-double-real.sh
- JOBNAME: gcc-11 Fortran single complex
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-single-complex.sh
- JOBNAME: gcc-11 Fortran double complex
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-double-complex.sh
steps:
- name: Check out sources
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Prepare container
run: ./scripts/prepare-container-macos.sh
- name: Build and test library
env:
TEST_SCRIPT: ${{ matrix.TEST_SCRIPT || env.TEST_SCRIPT }}
run: ${TEST_SCRIPT} testing
- name: Get library version
run: ./build/src/bml-version
build:
name: Build and test the library (${{ matrix.JOBNAME }})
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- JOBNAME: gcc-10 C single real
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-real.sh
- JOBNAME: gcc-10 C double real
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-real.sh
- JOBNAME: gcc-10 C single complex
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-complex.sh
- JOBNAME: gcc-10 C double complex
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-complex.sh
- JOBNAME: gcc-10 C single real (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-real.sh
- JOBNAME: gcc-10 C double real (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-real.sh
- JOBNAME: gcc-10 C single complex (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-complex.sh
- JOBNAME: gcc-10 C double complex (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-complex.sh
- JOBNAME: gcc-10 Fortran single real
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-single-real.sh
- JOBNAME: gcc-10 Fortran double real
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-double-real.sh
- JOBNAME: gcc-10 Fortran single complex
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-single-complex.sh
- JOBNAME: gcc-10 Fortran double complex
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-double-complex.sh
- JOBNAME: MPI single real
TEST_SCRIPT: ./scripts/ci-MPI-single-real.sh
- JOBNAME: MPI double real
TEST_SCRIPT: ./scripts/ci-MPI-double-real.sh
- JOBNAME: MPI single complex
TEST_SCRIPT: ./scripts/ci-MPI-single-complex.sh
- JOBNAME: MPI double complex
TEST_SCRIPT: ./scripts/ci-MPI-double-complex.sh
- JOBNAME: clang-16 / gfortran-10 C single real
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-single-real.sh
- JOBNAME: clang-16 / gfortran-10 C double real
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-double-real.sh
- JOBNAME: clang-16 / gfortran-10 C single complex
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-single-complex.sh
- JOBNAME: clang-16 / gfortran-10 C double complex
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-double-complex.sh
steps:
- name: Check out sources
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Prepare container
run: ./scripts/prepare-container-focal.sh
- name: Build and test library
env:
BLAS_VENDOR: ${{ matrix.BLAS_VENDOR || env.BLAS_VENDOR }}
TEST_SCRIPT: ${{ matrix.TEST_SCRIPT || env.TEST_SCRIPT }}
run: ${TEST_SCRIPT} testing
- name: Get library version
run: ./build/src/bml-version