mirror of
https://github.com/json-c/json-c.git
synced 2026-03-13 18:19:06 +08:00
228
.github/workflows/meson.yml
vendored
Normal file
228
.github/workflows/meson.yml
vendored
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
name: meson
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{github.workflow}}-${{github.head_ref}}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Linux-GCC:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
cc: ['9', '13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: egor-tensin/setup-gcc@v1
|
||||||
|
with:
|
||||||
|
version: ${{matrix.cc}}
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
run: |
|
||||||
|
python3 -m pip install meson ninja
|
||||||
|
|
||||||
|
- name: Compile and Test
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
Linux-Clang:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
cc: ['9', '22']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: egor-tensin/setup-clang@v1
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
run: |
|
||||||
|
python3 -m pip install meson ninja
|
||||||
|
|
||||||
|
- name: Compile and Test
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
VisualStudio:
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
platform: ['x64', 'x86']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- 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:
|
||||||
|
CFLAGS: '/analyze'
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" --wrap-mode=forcefallback -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
VisualStudio-clang-cl:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
run: |
|
||||||
|
python -m pip install meson ninja
|
||||||
|
|
||||||
|
- uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
|
||||||
|
- name: Compile and Test
|
||||||
|
env:
|
||||||
|
CC: clang-cl
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
MSYS2:
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
platform: ['UCRT64', 'CLANG64']
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: msys2 {0}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: ${{matrix.platform}}
|
||||||
|
pacboy: >-
|
||||||
|
cc:p
|
||||||
|
cmake:p
|
||||||
|
meson:p
|
||||||
|
ninja:p
|
||||||
|
pkgconf:p
|
||||||
|
|
||||||
|
- name: Compile and Test
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
Cygwin:
|
||||||
|
runs-on: windows-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: msys2 {0}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: 'MSYS'
|
||||||
|
install: >-
|
||||||
|
gcc
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
- name: Compile and Test
|
||||||
|
run: |
|
||||||
|
meson setup build -Dwarning_level=3 -Dcpp_std=gnu++20 -Dbuildtype=debug
|
||||||
|
meson compile -C build --verbose
|
||||||
|
meson test -C build --verbose
|
||||||
|
MacOS:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
run: |
|
||||||
|
brew install meson
|
||||||
|
|
||||||
|
- name: Compile and Test
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
DragonflyBSD:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: vmactions/dragonflybsd-vm@v1
|
||||||
|
with:
|
||||||
|
prepare: |
|
||||||
|
pkg install -y ninja meson pkgconf
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
FreeBSD:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: vmactions/freebsd-vm@v1
|
||||||
|
with:
|
||||||
|
prepare: |
|
||||||
|
pkg install -y ninja meson pkgconf
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
NetBSD:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: vmactions/netbsd-vm@v1
|
||||||
|
with:
|
||||||
|
prepare: |
|
||||||
|
/usr/sbin/pkg_add meson pkgconf
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
OmniOS:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: vmactions/omnios-vm@v1
|
||||||
|
with:
|
||||||
|
prepare: |
|
||||||
|
pkg install gcc14 meson-313 ninja pkg-config python-313
|
||||||
|
run: |
|
||||||
|
/usr/lib/python3.13/bin/meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
/usr/lib/python3.13/bin/meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
/usr/lib/python3.13/bin/meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
OpenBSD:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: vmactions/openbsd-vm@v1
|
||||||
|
with:
|
||||||
|
prepare: |
|
||||||
|
pkg_add ninja meson pkgconf
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
|
Alpine:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
platform: ['x86_64', 'x86', 'armhf', 'armv7', 'aarch64', 'ppc64le', 'riscv64', 's390x']
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: alpine.sh {0}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: jirutka/setup-alpine@v1
|
||||||
|
with:
|
||||||
|
branch: edge
|
||||||
|
arch: ${{matrix.platform}}
|
||||||
|
packages: >
|
||||||
|
build-base pkgconf meson samurai
|
||||||
|
- name: Compile and Test
|
||||||
|
run: |
|
||||||
|
meson setup "${{github.workspace}}/build" -Dwarning_level=3 -Dbuildtype=debug
|
||||||
|
meson compile -C "${{github.workspace}}/build" --verbose
|
||||||
|
meson test -C "${{github.workspace}}/build" --verbose
|
||||||
Reference in New Issue
Block a user