Skip to content

clean up tests

clean up tests #208

Workflow file for this run

name: MINGW
# TODO: Check the BRANCHES element when merging the branch 'develop' to, say, 'master'.
on:
push:
branches:
- '**'
- '!appveyor/**'
- '!travis/**'
pull_request:
env:
OMP_NUM_THREADS: 1
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_MAXSIZE: 128M
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
arch: ['i686', 'x86_64', 'ucrt-x86_64']
shared_libs: ['shared', 'static']
include:
- arch: i686
msystem: MINGW32
- arch: x86_64
msystem: MINGW64
- arch: ucrt-x86_64
msystem: UCRT64
defaults:
run:
shell: msys2 {0}
steps:
- name: Init ${{ matrix.msystem }}-System
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msystem }}
install: git base-devel mingw-w64-${{ matrix.arch }}-cmake mingw-w64-${{ matrix.arch }}-ninja mingw-w64-${{ matrix.arch }}-toolchain mingw-w64-${{ matrix.arch }}-ccache mingw-w64-${{ matrix.arch }}-glpk mingw-w64-${{ matrix.arch }}-gmp mingw-w64-${{ matrix.arch }}-libxml2
update: true
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configuration
run: |
mkdir -p build-${{ matrix.arch }}
cd build-${{ matrix.arch }}
cmake .. -GNinja -DBUILD_SHARED_LIBS=${{ matrix.shared_libs == 'shared' && 'ON' || 'OFF' }} -DIGRAPH_GLPK_SUPPORT=ON -DIGRAPH_GRAPHML_SUPPORT=ON -DIGRAPH_ENABLE_TLS=ON -DIGRAPH_VERIFY_FINALLY_STACK=ON -DIGRAPH_PRINT_ARITH_HEADER=ON -DFLEX_KEEP_LINE_NUMBERS=ON -DFORCE_COLORED_OUTPUT=ON -DIGRAPH_OPENMP_SUPPORT=ON -DIGRAPH_USE_INTERNAL_ARPACK=ON
- name: Ccache
uses: actions/cache@v3
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-msys2-${{ matrix.arch }}-${{ matrix.shared_libs }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
ccache-msys2-${{ matrix.arch }}-${{ matrix.shared_libs }}-${{ github.ref_name }}-
ccache-msys2-${{ matrix.arch }}-${{ matrix.shared_libs }}-
ccache-msys2-${{ matrix.arch }}-
- name: Build
run: cmake --build . --target build_tests
working-directory: build-${{ matrix.arch }}
# The glpk_error test is temporarily disabled, see https://github.com/igraph/igraph/issues/1850
- name: Test
run: ctest -j $(nproc) --exclude-regex glpk_error --output-on-failure --timeout 180
working-directory: build-${{ matrix.arch }}
- name: Ccache stats
run: ccache -sv
- name: Generate Artifacts upon Failure
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: failure
path: |
build-${{ matrix.arch }}/tests/*
!build-${{ matrix.arch }}/tests/*.exe