Skip to content

main

main #749

Workflow file for this run

name: main
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 3 * * *'
jobs:
build:
strategy:
fail-fast: false
matrix:
include: [
{ msystem: MINGW64, prefix: mingw-w64-x86_64, cc: gcc, cxx: g++, fc: gfortran },
{ msystem: MINGW32, prefix: mingw-w64-i686, cc: gcc, cxx: g++, fc: gfortran },
{ msystem: UCRT64, prefix: mingw-w64-ucrt-x86_64, cc: gcc, cxx: g++, fc: gfortran },
{ msystem: UCRT64, prefix: mingw-w64-ucrt-x86_64, cc: clang, cxx: clang++, fc: flang },
{ msystem: CLANG32, prefix: mingw-w64-clang-i686, cc: clang, cxx: clang++ },
{ msystem: CLANG64, prefix: mingw-w64-clang-x86_64, cc: clang, cxx: clang++, fc: flang },
{ msystem: MSYS, cc: gcc, cxx: g++, fc: gfortran },
]
name: ${{ matrix.msystem }}-${{ matrix.cc }}
runs-on: windows-2022
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
FC: ${{ matrix.fc }}
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
if: ${{ matrix.msystem != 'MSYS' }}
with:
msystem: ${{ matrix.msystem }}
update: true
install: >-
${{ matrix.prefix }}-meson
${{ matrix.prefix }}-ninja
${{ matrix.prefix }}-cmake
${{ matrix.prefix }}-make
${{ matrix.prefix }}-${{ matrix.cc == 'gcc' && 'gcc-ada' || 'ninja'}}
${{ matrix.prefix }}-${{ matrix.cc != 'gcc' && 'openmp' || 'ninja'}}
${{ matrix.prefix }}-${{ matrix.cc != 'gcc' && 'lld' || 'ninja'}}
${{ matrix.prefix }}-${{ matrix.cc != 'gcc' && 'libc++' || 'ninja'}}
${{ matrix.prefix }}-${{ matrix.fc == 'gfortran' && 'gcc-fortran' || 'ninja'}}
${{ matrix.prefix }}-${{ matrix.fc == 'flang' && 'flang' || 'ninja'}}
${{ matrix.prefix }}-${{ matrix.cc }}
${{ matrix.prefix }}-rust
${{ matrix.prefix }}-python
${{ matrix.prefix }}-python-setuptools
${{ matrix.prefix }}-autotools
${{ matrix.prefix }}-go
${{ matrix.prefix }}-ruby
${{ matrix.prefix }}-perl
${{ matrix.prefix }}-nodejs
${{ matrix.prefix }}-gdb
make
- uses: msys2/setup-msys2@v2
if: ${{ matrix.msystem == 'MSYS' }}
with:
msystem: ${{ matrix.msystem }}
update: true
install: >-
meson
ninja
cmake
make
gcc
gcc-fortran
python
python-setuptools
autotools
ruby
perl
mingw-w64-cross-gcc
gdb
- name: Add staging repo
shell: msys2 {0}
run: |
sed -i '1s|^|[staging]\nServer = https://repo.msys2.org/staging/\nSigLevel = Never\n|' /etc/pacman.conf
- name: Update using staging
run: |
msys2 -c 'pacman --noconfirm -Suuy'
msys2 -c 'pacman --noconfirm -Suu'
- name: Run Tests
shell: msys2 {0}
run: |
make -j