Skip to content

Improve coverage

Improve coverage #503

Workflow file for this run

# DO NOT EDIT - GENERATED FROM .github/workflows/embedded.ys
name: embedded
defaults:
run:
shell: bash -e -x {0}
'on':
workflow_dispatch: null
push:
branches:
- master
pull_request:
branches:
- '**'
env:
PROJ_PKG_NAME: rapidyaml-
PROJ_PFX_TARGET: ryml-
PROJ_PFX_CMAKE: RYML_
CMAKE_FLAGS: -DRYML_TEST_SUITE=ON
NUM_JOBS_BUILD: null
jobs:
canary:
if: always()
continue-on-error: false
name: ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- arch: armv7
std: 23
bt: Release
tc: arm-linux-gnueabihf
heavybuild: 1
flags: -march=armv7+fp
steps:
- name: checkout (action)
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0
- name: install
run: |
sudo apt-get update
sudo apt-get install -y \
gcc${{matrix.version}}-${{matrix.tc}} \
g++${{matrix.version}}-${{matrix.tc}} \
qemu-user-static
- name: info
run: |
${{matrix.tc}}-g++${{matrix.version}} --version
${{matrix.tc}}-g++${{matrix.version}} -dM -E - </dev/null | sort
${{matrix.tc}}-g++${{matrix.version}} ${{matrix.flags}} -dM -E - </dev/null | sort
- name: '-------------------------------------------------'
run: echo ${{matrix.arch}}/c++${{matrix.std}}std/${{matrix.bt}}
- name: configure ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
run: |
touch build
rm -rf build
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=ext/c4core/.github/toolchains/${{matrix.arch}}.cmake \
-DCMAKE_BUILD_TYPE=${{matrix.bt}} \
-DCMAKE_CXX_FLAGS=" ${{matrix.flags}} " \
-DCMAKE_C_FLAGS=" ${{matrix.flags}} " \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DCXX_STANDARD=${{matrix.std}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_SANITIZE=OFF \
-DRYML_LINT=OFF \
-DRYML_VALGRIND=OFF
- name: build ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
run: |
numprocs=`nproc`
if [ ${{matrix.heavybuild}} == 2 ] ; then
if (( $numprocs > 1 )) ; then
numprocs=$(($numprocs / 2))
fi
fi
export CMAKE_BUILD_PARALLEL_LEVEL=$numprocs
cmake --build build --parallel $numprocs --target ryml-test-build
- name: test ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
run: |
export CTEST_PARALLEL_LEVEL=`nproc`
cmake --build build --target ryml-test-run
xcompile:
needs:
- canary
continue-on-error: false
name: ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- arch: armv7
std: 11
bt: Debug
tc: arm-linux-gnueabihf
heavybuild: 0
flags: -march=armv7+fp
- arch: armv6
std: 23
bt: Release
tc: arm-linux-gnueabi
heavybuild: 1
flags: -march=armv6+fp
- arch: armv6
std: 11
bt: Debug
tc: arm-linux-gnueabi
heavybuild: 0
flags: -march=armv6+fp
- arch: armv5
std: 23
bt: Release
tc: arm-linux-gnueabi
heavybuild: 1
flags: -march=armv5te+fp
- arch: armv5
std: 11
bt: Debug
tc: arm-linux-gnueabi
heavybuild: 0
flags: -march=armv5te+fp
- arch: armv4
std: 23
bt: Release
tc: arm-linux-gnueabi
heavybuild: 1
flags: -march=armv4
- arch: armv4
std: 11
bt: Debug
tc: arm-linux-gnueabi
heavybuild: 0
flags: -march=armv4
- arch: aarch64
std: 23
bt: Release
tc: aarch64-linux-gnu
heavybuild: 2
- arch: aarch64
std: 11
bt: Debug
tc: aarch64-linux-gnu
heavybuild: 1
- arch: loongarch64
std: 23
bt: Release
tc: loongarch64-linux-gnu
heavybuild: 1
version: -14
- arch: loongarch64
std: 11
bt: Debug
tc: loongarch64-linux-gnu
heavybuild: 0
version: -14
- arch: mips
std: 23
bt: Release
tc: mips-linux-gnu
heavybuild: 1
- arch: mips
std: 11
bt: Debug
tc: mips-linux-gnu
heavybuild: 0
- arch: mipsel
std: 23
bt: Release
tc: mipsel-linux-gnu
heavybuild: 1
- arch: mipsel
std: 11
bt: Debug
tc: mipsel-linux-gnu
heavybuild: 0
- arch: mips64
std: 23
bt: Release
tc: mips64-linux-gnuabi64
heavybuild: 2
- arch: mips64
std: 11
bt: Debug
tc: mips64-linux-gnuabi64
heavybuild: 2
- arch: mips64el
std: 23
bt: Release
tc: mips64el-linux-gnuabi64
heavybuild: 2
- arch: mips64el
std: 11
bt: Debug
tc: mips64el-linux-gnuabi64
heavybuild: 2
- arch: riscv64
std: 23
bt: Release
tc: riscv64-linux-gnu
heavybuild: 1
- arch: riscv64
std: 11
bt: Debug
tc: riscv64-linux-gnu
heavybuild: 0
- arch: s390x
std: 23
bt: Release
tc: s390x-linux-gnu
heavybuild: 1
- arch: s390x
std: 11
bt: Debug
tc: s390x-linux-gnu
heavybuild: 0
- arch: ppc
std: 23
bt: Release
tc: powerpc-linux-gnu
heavybuild: 1
- arch: ppc
std: 11
bt: Debug
tc: powerpc-linux-gnu
heavybuild: 0
- arch: ppc64
std: 23
bt: Release
tc: powerpc64-linux-gnu
heavybuild: 1
- arch: ppc64
std: 11
bt: Debug
tc: powerpc64-linux-gnu
heavybuild: 0
- arch: ppc64le
std: 23
bt: Release
tc: powerpc64le-linux-gnu
heavybuild: 1
- arch: ppc64le
std: 11
bt: Debug
tc: powerpc64le-linux-gnu
heavybuild: 0
- arch: sparc64
std: 23
bt: Release
tc: sparc64-linux-gnu
heavybuild: 1
- arch: sparc64
std: 11
bt: Debug
tc: sparc64-linux-gnu
heavybuild: 0
steps:
- name: checkout (action)
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0
- name: install
run: |
sudo apt-get update
sudo apt-get install -y \
gcc${{matrix.version}}-${{matrix.tc}} \
g++${{matrix.version}}-${{matrix.tc}} \
qemu-user-static
- name: info
run: |
${{matrix.tc}}-g++${{matrix.version}} --version
${{matrix.tc}}-g++${{matrix.version}} -dM -E - </dev/null | sort
${{matrix.tc}}-g++${{matrix.version}} ${{matrix.flags}} -dM -E - </dev/null | sort
- name: '-------------------------------------------------'
run: echo ${{matrix.arch}}/c++${{matrix.std}}std/${{matrix.bt}}
- name: configure ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
run: |
touch build
rm -rf build
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=ext/c4core/.github/toolchains/${{matrix.arch}}.cmake \
-DCMAKE_BUILD_TYPE=${{matrix.bt}} \
-DCMAKE_CXX_FLAGS=" ${{matrix.flags}} " \
-DCMAKE_C_FLAGS=" ${{matrix.flags}} " \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DCXX_STANDARD=${{matrix.std}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_SANITIZE=OFF \
-DRYML_LINT=OFF \
-DRYML_VALGRIND=OFF
- name: build ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
run: |
numprocs=`nproc`
if [ ${{matrix.heavybuild}} == 2 ] ; then
if (( $numprocs > 1 )) ; then
numprocs=$(($numprocs / 2))
fi
fi
export CMAKE_BUILD_PARALLEL_LEVEL=$numprocs
cmake --build build --parallel $numprocs --target ryml-test-build
- name: test ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}}
run: |
export CTEST_PARALLEL_LEVEL=`nproc`
cmake --build build --target ryml-test-run