Skip to content

basic routines for polygon meshes #65

basic routines for polygon meshes

basic routines for polygon meshes #65

Workflow file for this run

name: CI
on:
push:
branches:
- main
paths-ignore:
- 'AUTHORS.md'
- 'LICENSE.md'
- 'README.md'
pull_request:
paths-ignore:
- 'AUTHORS.md'
- 'LICENSE.md'
- 'README.md'
workflow_dispatch:
inputs:
debug_enabled:
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
required: false
default: false
jobs:
test:
if: "!contains(github.event.head_commit.message, 'skip ci')"
name: ${{ matrix.os }} - ${{ matrix.compiler }} - ${{ matrix.test_type }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
compiler:
- gfortran-11
- gfortran-13
shell:
- bash
test_type:
- regular
include:
- os: windows-latest
compiler: gfortran
shell: 'msys2 {0}'
test_type: regular
- os: ubuntu-latest
compiler: gfortran-13
shell: bash
test_type: coverage
defaults:
run:
shell: ${{ matrix.shell }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
if: ${{ matrix.os == 'windows-latest' }}
with:
update: true
install: git base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
- name: Show compiler version information
run: |
${{ matrix.compiler }} --version
- name: Configure
run: |
mkdir build && cd build
FC=${{ matrix.compiler }} cmake .. -DCMAKE_INSTALL_PREFIX=../install
- name: Build
run: |
cd build
cmake --build .
- name: Install
run: |
cd build
cmake --install .
- name: Run test
run: |
install/bin/smesh_run
install/bin/smesh_run smesh_example.cfg
install/bin/smesh_run smesh_test.cfg
- name: Run tests for coverage
if: ${{ matrix.test_type == 'coverage' }}
run: |
sudo apt-get install -y lcov
mkdir build-coverage
cd build-coverage
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_COVERAGE=ON
cmake --build .
cd ..
cmake --build build-coverage/ --target reset-coverage
build-coverage/smesh_run
build-coverage/smesh_run smesh_example.cfg
build-coverage/smesh_run smesh_test.cfg
cmake --build build-coverage/ --target process-coverage
- uses: codecov/codecov-action@v3
if: ${{ matrix.test_type == 'coverage' }}
with:
files: ./build-coverage/lcov.info
flags: unittests
name: codecov-umbrella
- name: Coveralls
if: ${{ matrix.test_type == 'coverage' }}
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./build-coverage/lcov.info
# Enable tmate debugging of manually-triggered workflows if the input option was provided
- name: Setup tmate session for debugging
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled && always() }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 15