128 lines
3.9 KiB
YAML
128 lines
3.9 KiB
YAML
name: On PRs - meson
|
|
|
|
on: pull_request
|
|
|
|
concurrency:
|
|
group: ${{github.workflow}}-${{github.head_ref}}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
Ubuntu:
|
|
runs-on: ubuntu-20.04
|
|
name: Linux-GCC${{matrix.cxx}}-${{matrix.deps}}
|
|
strategy:
|
|
matrix:
|
|
cxx: ['7', '8', '9', '10']
|
|
deps: ['forcefallback', 'default']
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install packages
|
|
run: |
|
|
sudo apt install -y g++-${{matrix.cxx}}
|
|
python3 -m pip install meson ninja
|
|
|
|
- name: Compile and Test
|
|
env:
|
|
CXX: g++-${{matrix.cxx}}
|
|
run: |
|
|
meson setup "${{github.workspace}}/build" --wrap-mode=${{matrix.deps}} -Dwarning_level=3
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|
|
meson test -C "${{github.workspace}}/build" --verbose
|
|
|
|
VisualStudio:
|
|
runs-on: windows-latest
|
|
name: MSVC-${{matrix.deps}}-${{matrix.platform}}
|
|
strategy:
|
|
matrix:
|
|
deps: ['forcefallback', 'default']
|
|
platform: ['x64', 'x86']
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install packages
|
|
run: |
|
|
python -m pip install meson ninja
|
|
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
with:
|
|
arch: ${{matrix.platform}}
|
|
|
|
- name: Compile and Test
|
|
env:
|
|
CXXFLAGS: '/analyze'
|
|
run: |
|
|
meson setup "${{github.workspace}}/build" --wrap-mode=${{matrix.deps}} -Dwarning_level=3 -Dcpp_std=c++latest
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|
|
meson test -C "${{github.workspace}}/build" --verbose
|
|
MSYS2:
|
|
runs-on: windows-latest
|
|
name: MSYS2-${{matrix.deps}}-${{matrix.platform}}
|
|
strategy:
|
|
matrix:
|
|
deps: ['forcefallback', 'default']
|
|
platform: ['MINGW32', 'MINGW64', 'UCRT64', 'CLANG32', 'CLANG64']
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{matrix.platform}}
|
|
pacboy: >-
|
|
cc:p
|
|
meson:p
|
|
ninja:p
|
|
|
|
- name: Compile and Test
|
|
shell: msys2 {0}
|
|
run: |
|
|
meson setup "${{github.workspace}}/build" --wrap-mode=${{matrix.deps}} -Dwarning_level=3 -Dcpp_std=c++20
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|
|
meson test -C "${{github.workspace}}/build" --verbose
|
|
MacOS:
|
|
runs-on: macos-latest
|
|
name: macOS-${{matrix.deps}}
|
|
strategy:
|
|
matrix:
|
|
deps: ['forcefallback', 'default']
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install packages
|
|
run: |
|
|
python3 -m pip install meson ninja
|
|
|
|
- name: Compile and Test
|
|
run: |
|
|
meson setup "${{github.workspace}}/build" --wrap-mode=${{matrix.deps}} -Dwarning_level=3 -Dcpp_std=c++20
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|
|
meson test -C "${{github.workspace}}/build" --verbose
|
|
FreeBSD:
|
|
runs-on: macos-latest
|
|
name: FreeBSD
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: FreeBSD
|
|
uses: vmactions/freebsd-vm@v0
|
|
with:
|
|
prepare: |
|
|
pkg install -y curl ninja meson gettext pkgconf googletest expat inih brotli
|
|
run: |
|
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dcpp_std=c++20
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|
|
meson test -C "${{github.workspace}}/build" --verbose
|
|
OpenBSD:
|
|
runs-on: macos-latest
|
|
name: OpenBSD
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: OpenBSD
|
|
uses: vmactions/openbsd-vm@v0
|
|
with:
|
|
prepare: |
|
|
pkg_add curl ninja meson gettext pkgconf gtest libiconv
|
|
run: |
|
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dcpp_std=c++20
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|
|
meson test -C "${{github.workspace}}/build" --verbose
|