simplify case of 2 terminals #206
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: 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 |