Skip to content

Handle Byte Order Marks #711

Handle Byte Order Marks

Handle Byte Order Marks #711

Workflow file for this run

# DO NOT EDIT - GENERATED FROM .github/workflows/gcc.ys
name: gcc
defaults:
run:
shell: bash -e -x {0}
'on':
workflow_dispatch: null
push:
branches:
- master
pull_request:
branches:
- master
env:
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: canary/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu${{matrix.img}}:latest
strategy:
fail-fast: false
matrix:
include:
- std: 11
cxx: g++-13
bt: Debug
bitlinks: shared64 static32
img: '22.04'
- std: 11
cxx: g++-13
bt: Release
bitlinks: shared64 static32
img: '22.04'
- std: 20
cxx: g++-13
bt: Debug
bitlinks: shared64 static32
img: '22.04'
- std: 20
cxx: g++-13
bt: Release
bitlinks: shared64 static32
img: '22.04'
- std: 11
cxx: g++-5
bt: Debug
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-5
bt: Release
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-4.8
bt: Debug
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-4.8
bt: Release
bitlinks: shared64 static32
img: '18.04'
env:
STD: ${{matrix.std}}
CXX_: ${{matrix.cxx}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
steps:
- name: checkout (manually)
run: |
set -xeo pipefail
env | sort
echo GITHUB_SERVER_URL=$GITHUB_SERVER_URL
echo GITHUB_REPOSITORY=$GITHUB_REPOSITORY
echo GITHUB_REF=$GITHUB_REF
echo GITHUB_REF_NAME=$GITHUB_REF_NAME
echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF
repo=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY
# check the branch
# https://stackoverflow.com/questions/58033366
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
echo branch=$branch
# does the branch exist in the repo?
if [ -z "$(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
# refs/pull/485/merge -> pull/485/head
branch=`echo ${GITHUB_REF#refs/} | sed -e 's:merge:head:g'`
echo "... falling back to $branch"
# does the fallback exist?
if [ -z "(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
exit 1
else
echo "branch $branch exists on $repo"
localbranch=$(echo $branch | sed -e 's@[/:]@_@g')
branch=$branch:$localbranch
echo "naming locally as $branch"
fi
fi
# finally, create the local repo
git init -q .
# needed for running in the docker image.
# see https://github.com/actions/checkout/issues/1169
git config --system --add safe.directory '*'
# finally, do it!
git remote add origin $repo
git fetch origin $branch
git reset --hard FETCH_HEAD
git submodule update --init --recursive
# show the log
git log --graph --date=relative --date-order --color=always \
--pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' \
| head -30 \
|| echo -n
# show the last commit
git log --name-status HEAD^..HEAD
- run: c4core-install ${{matrix.cxx}}
- name: show info
run: source .github/setenv.sh && c4_show_info
- name: shared64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared64
- name: shared64-build
run: source .github/setenv.sh && c4_build_test shared64
- name: shared64-run
run: source .github/setenv.sh && c4_run_test shared64
- name: shared64-pack
run: source .github/setenv.sh && c4_package shared64
- name: static64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static64
- name: static64-build
run: source .github/setenv.sh && c4_build_test static64
- name: static64-run
run: source .github/setenv.sh && c4_run_test static64
- name: static64-pack
run: source .github/setenv.sh && c4_package static64
- name: static32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static32
- name: static32-build
run: source .github/setenv.sh && c4_build_test static32
- name: static32-run
run: source .github/setenv.sh && c4_run_test static32
- name: static32-pack
run: source .github/setenv.sh && c4_package static32
- name: shared32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared32
- name: shared32-build
run: source .github/setenv.sh && c4_build_test shared32
- name: shared32-run
run: source .github/setenv.sh && c4_run_test shared32
- name: shared32-pack
run: source .github/setenv.sh && c4_package shared32
tabtokens:
if: always()
continue-on-error: false
name: tabtokens/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu${{matrix.img}}:latest
strategy:
fail-fast: false
matrix:
include:
- std: 11
cxx: g++-13
bt: Debug
bitlinks: shared64 static32
img: '22.04'
- std: 11
cxx: g++-13
bt: Release
bitlinks: shared64 static32
img: '22.04'
- std: 20
cxx: g++-13
bt: Debug
bitlinks: shared64 static32
img: '22.04'
- std: 20
cxx: g++-13
bt: Release
bitlinks: shared64 static32
img: '22.04'
- std: 11
cxx: g++-5
bt: Debug
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-5
bt: Release
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-4.8
bt: Debug
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-4.8
bt: Release
bitlinks: shared64 static32
img: '18.04'
env:
STD: ${{matrix.std}}
CXX_: ${{matrix.cxx}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
CMAKE_FLAGS: -DRYML_WITH_TAB_TOKENS=ON
steps:
- name: checkout (manually)
run: |
set -xeo pipefail
env | sort
echo GITHUB_SERVER_URL=$GITHUB_SERVER_URL
echo GITHUB_REPOSITORY=$GITHUB_REPOSITORY
echo GITHUB_REF=$GITHUB_REF
echo GITHUB_REF_NAME=$GITHUB_REF_NAME
echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF
repo=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY
# check the branch
# https://stackoverflow.com/questions/58033366
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
echo branch=$branch
# does the branch exist in the repo?
if [ -z "$(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
# refs/pull/485/merge -> pull/485/head
branch=`echo ${GITHUB_REF#refs/} | sed -e 's:merge:head:g'`
echo "... falling back to $branch"
# does the fallback exist?
if [ -z "(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
exit 1
else
echo "branch $branch exists on $repo"
localbranch=$(echo $branch | sed -e 's@[/:]@_@g')
branch=$branch:$localbranch
echo "naming locally as $branch"
fi
fi
# finally, create the local repo
git init -q .
# needed for running in the docker image.
# see https://github.com/actions/checkout/issues/1169
git config --system --add safe.directory '*'
# finally, do it!
git remote add origin $repo
git fetch origin $branch
git reset --hard FETCH_HEAD
git submodule update --init --recursive
# show the log
git log --graph --date=relative --date-order --color=always \
--pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' \
| head -30 \
|| echo -n
# show the last commit
git log --name-status HEAD^..HEAD
- run: c4core-install ${{matrix.cxx}}
- name: show info
run: source .github/setenv.sh && c4_show_info
- name: shared64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared64
- name: shared64-build
run: source .github/setenv.sh && c4_build_test shared64
- name: shared64-run
run: source .github/setenv.sh && c4_run_test shared64
- name: shared64-pack
run: source .github/setenv.sh && c4_package shared64
- name: static64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static64
- name: static64-build
run: source .github/setenv.sh && c4_build_test static64
- name: static64-run
run: source .github/setenv.sh && c4_run_test static64
- name: static64-pack
run: source .github/setenv.sh && c4_package static64
- name: static32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static32
- name: static32-build
run: source .github/setenv.sh && c4_build_test static32
- name: static32-run
run: source .github/setenv.sh && c4_run_test static32
- name: static32-pack
run: source .github/setenv.sh && c4_package static32
- name: shared32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared32
- name: shared32-build
run: source .github/setenv.sh && c4_build_test shared32
- name: shared32-run
run: source .github/setenv.sh && c4_run_test shared32
- name: shared32-pack
run: source .github/setenv.sh && c4_package shared32
noexceptions:
if: always()
continue-on-error: false
name: noexceptions/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu${{matrix.img}}:latest
strategy:
fail-fast: false
matrix:
include:
- std: 11
cxx: g++-13
bt: Debug
bitlinks: shared64 static32
img: '22.04'
- std: 11
cxx: g++-13
bt: Release
bitlinks: shared64 static32
img: '22.04'
- std: 20
cxx: g++-13
bt: Debug
bitlinks: shared64 static32
img: '22.04'
- std: 20
cxx: g++-13
bt: Release
bitlinks: shared64 static32
img: '22.04'
- std: 11
cxx: g++-5
bt: Debug
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-5
bt: Release
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-4.8
bt: Debug
bitlinks: shared64 static32
img: '18.04'
- std: 11
cxx: g++-4.8
bt: Release
bitlinks: shared64 static32
img: '18.04'
env:
STD: ${{matrix.std}}
CXX_: ${{matrix.cxx}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
CXXFLAGS: -fno-exceptions -fno-rtti
steps:
- name: checkout (manually)
run: |
set -xeo pipefail
env | sort
echo GITHUB_SERVER_URL=$GITHUB_SERVER_URL
echo GITHUB_REPOSITORY=$GITHUB_REPOSITORY
echo GITHUB_REF=$GITHUB_REF
echo GITHUB_REF_NAME=$GITHUB_REF_NAME
echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF
repo=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY
# check the branch
# https://stackoverflow.com/questions/58033366
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
echo branch=$branch
# does the branch exist in the repo?
if [ -z "$(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
# refs/pull/485/merge -> pull/485/head
branch=`echo ${GITHUB_REF#refs/} | sed -e 's:merge:head:g'`
echo "... falling back to $branch"
# does the fallback exist?
if [ -z "(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
exit 1
else
echo "branch $branch exists on $repo"
localbranch=$(echo $branch | sed -e 's@[/:]@_@g')
branch=$branch:$localbranch
echo "naming locally as $branch"
fi
fi
# finally, create the local repo
git init -q .
# needed for running in the docker image.
# see https://github.com/actions/checkout/issues/1169
git config --system --add safe.directory '*'
# finally, do it!
git remote add origin $repo
git fetch origin $branch
git reset --hard FETCH_HEAD
git submodule update --init --recursive
# show the log
git log --graph --date=relative --date-order --color=always \
--pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' \
| head -30 \
|| echo -n
# show the last commit
git log --name-status HEAD^..HEAD
- run: c4core-install ${{matrix.cxx}}
- name: show info
run: source .github/setenv.sh && c4_show_info
- name: shared64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared64
- name: shared64-build
run: source .github/setenv.sh && c4_build_test shared64
- name: shared64-run
run: source .github/setenv.sh && c4_run_test shared64
- name: shared64-pack
run: source .github/setenv.sh && c4_package shared64
- name: static64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static64
- name: static64-build
run: source .github/setenv.sh && c4_build_test static64
- name: static64-run
run: source .github/setenv.sh && c4_run_test static64
- name: static64-pack
run: source .github/setenv.sh && c4_package static64
- name: static32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static32
- name: static32-build
run: source .github/setenv.sh && c4_build_test static32
- name: static32-run
run: source .github/setenv.sh && c4_run_test static32
- name: static32-pack
run: source .github/setenv.sh && c4_package static32
- name: shared32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared32
- name: shared32-build
run: source .github/setenv.sh && c4_build_test shared32
- name: shared32-run
run: source .github/setenv.sh && c4_run_test shared32
- name: shared32-pack
run: source .github/setenv.sh && c4_package shared32
misbuild:
if: always()
continue-on-error: false
name: misbuild#${{matrix.issue}}/gcc${{matrix.gcc}}/c++${{matrix.std}}
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu${{matrix.img}}:latest
strategy:
fail-fast: false
matrix:
include:
- issue: 440
std: 11
gcc: 12
bt: Release
img: 22.04
cxxflags: -O2 -DNDEBUG -g
- issue: 486
std: 11
gcc: 11
bt: Release
img: 22.04
cxxflags: -O3 -DNDEBUG
env:
STD: ${{matrix.std}}
CXX_: ${{matrix.gcc}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
steps:
- name: checkout (action + docker)
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- run: git config --system --add safe.directory '*'
- run: c4core-install g++-${{matrix.gcc}}
- name: show info
run: source .github/setenv.sh && c4_show_info
- name: configure (issue \#${{matrix.issue}})
run: |
cmake -S . -B build \
-DCMAKE_CXX_COMPILER=g++-${{matrix.gcc}} \
-DCMAKE_C_COMPILER=gcc-${{matrix.gcc}} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="${{matrix.cxxflags}}" \
-DRYML_BUILD_TESTS=ON \
-DRYML_DBG=OFF
- name: build (issue \#${{matrix.issue}})
run: cmake --build build --target ryml-test-build --parallel --verbose
- name: run (issue \#${{matrix.issue}})
run: cmake --build build --target ryml-test-run
extended:
if: always()
continue-on-error: false
name: extended/${{matrix.cxx}}/${{matrix.bits}}bit/c++${{matrix.std}}/vg${{matrix.vg}}
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu${{matrix.img}}:latest
strategy:
fail-fast: false
matrix:
include:
- std: 20
cxx: 14
bits: 64
vg: 'ON'
img: 22.04
- std: 20
cxx: 14
bits: 32
vg: 'ON'
img: 22.04
- std: 17
cxx: 14
bits: 64
vg: 'ON'
img: 22.04
- std: 17
cxx: 14
bits: 32
vg: 'ON'
img: 22.04
- std: 14
cxx: 14
bits: 64
vg: 'ON'
img: 22.04
- std: 14
cxx: 14
bits: 32
vg: 'ON'
img: 22.04
- std: 11
cxx: 14
bits: 64
vg: 'ON'
img: 22.04
- std: 11
cxx: 14
bits: 32
vg: 'ON'
img: 22.04
- std: 11
cxx: 13
bits: 64
vg: 'OFF'
img: 22.04
- std: 11
cxx: 13
bits: 32
vg: 'OFF'
img: 22.04
- std: 11
cxx: 12
bits: 64
vg: 'OFF'
img: 22.04
- std: 11
cxx: 12
bits: 32
vg: 'OFF'
img: 22.04
- std: 11
cxx: 11
bits: 64
vg: 'OFF'
img: 22.04
- std: 11
cxx: 11
bits: 32
vg: 'OFF'
img: 22.04
- std: 11
cxx: 10
bits: 64
vg: 'OFF'
img: 22.04
- std: 11
cxx: 10
bits: 32
vg: 'OFF'
img: 22.04
- std: 11
cxx: 9
bits: 64
vg: 'OFF'
img: 22.04
- std: 11
cxx: 9
bits: 32
vg: 'OFF'
img: 22.04
- std: 11
cxx: 8
bits: 64
vg: 'OFF'
img: 18.04
- std: 11
cxx: 8
bits: 32
vg: 'OFF'
img: 18.04
- std: 11
cxx: 7
bits: 64
vg: 'OFF'
img: 18.04
- std: 11
cxx: 7
bits: 32
vg: 'OFF'
img: 18.04
- std: 11
cxx: 6
bits: 64
vg: 'OFF'
img: 18.04
- std: 11
cxx: 6
bits: 32
vg: 'OFF'
img: 18.04
- std: 11
cxx: 5
bits: 64
vg: 'OFF'
img: 18.04
- std: 11
cxx: 5
bits: 32
vg: 'OFF'
img: 18.04
- std: 11
cxx: 4.9
bits: 64
vg: 'OFF'
img: 18.04
- std: 11
cxx: 4.9
bits: 32
vg: 'OFF'
img: 18.04
- std: 11
cxx: 4.8
bits: 64
vg: 'OFF'
img: 18.04
- std: 11
cxx: 4.8
bits: 32
vg: 'OFF'
img: 18.04
env:
STD: ${{matrix.std}}
CXX_: ${{matrix.cxx}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
steps:
- name: checkout (manually)
run: |
set -xeo pipefail
env | sort
echo GITHUB_SERVER_URL=$GITHUB_SERVER_URL
echo GITHUB_REPOSITORY=$GITHUB_REPOSITORY
echo GITHUB_REF=$GITHUB_REF
echo GITHUB_REF_NAME=$GITHUB_REF_NAME
echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF
repo=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY
# check the branch
# https://stackoverflow.com/questions/58033366
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
echo branch=$branch
# does the branch exist in the repo?
if [ -z "$(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
# refs/pull/485/merge -> pull/485/head
branch=`echo ${GITHUB_REF#refs/} | sed -e 's:merge:head:g'`
echo "... falling back to $branch"
# does the fallback exist?
if [ -z "(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
exit 1
else
echo "branch $branch exists on $repo"
localbranch=$(echo $branch | sed -e 's@[/:]@_@g')
branch=$branch:$localbranch
echo "naming locally as $branch"
fi
fi
# finally, create the local repo
git init -q .
# needed for running in the docker image.
# see https://github.com/actions/checkout/issues/1169
git config --system --add safe.directory '*'
# finally, do it!
git remote add origin $repo
git fetch origin $branch
git reset --hard FETCH_HEAD
git submodule update --init --recursive
# show the log
git log --graph --date=relative --date-order --color=always \
--pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' \
| head -30 \
|| echo -n
# show the last commit
git log --name-status HEAD^..HEAD
- name: install
run: c4core-install g++-${{matrix.cxx}}
- name: '---------------------------------------------------------'
run: |
echo "Debug ::: -m${{matrix.bits}}"
- name: 'configure Debug ::: -m${{matrix.bits}}'
run: |
rm -rf build/Debug
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build/Debug \
-DCMAKE_CXX_COMPILER=g++-${{matrix.cxx}} \
-DCMAKE_C_COMPILER=gcc-${{matrix.cxx}} \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_FLAGS_DEBUG="-m${{matrix.bits}}" \
-DCMAKE_C_FLAGS_DEBUG="-m${{matrix.bits}}" \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DRYML_CXX_STANDARD=${{matrix.std}} \
-DRYML_BUILD_TESTS=ON \
-DRYML_VALGRIND=${{matrix.vg}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_DBG=OFF
- name: 'build Debug ::: -m${{matrix.bits}}'
run: |
cmake --build build/Debug --target ryml-test-build --parallel --verbose
- name: 'run Debug ::: -m${{matrix.bits}}'
run: |
cmake --build build/Debug --target ryml-test-run
- name: '---------------------------------------------------------'
run: |
echo "Release ::: -O1 -DNDEBUG -m${{matrix.bits}}"
- name: 'configure Release ::: -O1 -DNDEBUG -m${{matrix.bits}}'
run: |
rm -rf build/Release
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build/Release \
-DCMAKE_CXX_COMPILER=g++-${{matrix.cxx}} \
-DCMAKE_C_COMPILER=gcc-${{matrix.cxx}} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG -m${{matrix.bits}}" \
-DCMAKE_C_FLAGS_RELEASE="-O1 -DNDEBUG -m${{matrix.bits}}" \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DRYML_CXX_STANDARD=${{matrix.std}} \
-DRYML_BUILD_TESTS=ON \
-DRYML_VALGRIND=${{matrix.vg}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_DBG=OFF
- name: 'build Release ::: -O1 -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-build --parallel --verbose
- name: 'run Release ::: -O1 -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-run
- name: '---------------------------------------------------------'
run: |
echo "Release ::: -O2 -DNDEBUG -m${{matrix.bits}}"
- name: 'configure Release ::: -O2 -DNDEBUG -m${{matrix.bits}}'
run: |
rm -rf build/Release
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build/Release \
-DCMAKE_CXX_COMPILER=g++-${{matrix.cxx}} \
-DCMAKE_C_COMPILER=gcc-${{matrix.cxx}} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-O2 -DNDEBUG -m${{matrix.bits}}" \
-DCMAKE_C_FLAGS_RELEASE="-O2 -DNDEBUG -m${{matrix.bits}}" \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DRYML_CXX_STANDARD=${{matrix.std}} \
-DRYML_BUILD_TESTS=ON \
-DRYML_VALGRIND=${{matrix.vg}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_DBG=OFF
- name: 'build Release ::: -O2 -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-build --parallel --verbose
- name: 'run Release ::: -O2 -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-run
- name: '---------------------------------------------------------'
run: |
echo "Release ::: -O3 -DNDEBUG -m${{matrix.bits}}"
- name: 'configure Release ::: -O3 -DNDEBUG -m${{matrix.bits}}'
run: |
rm -rf build/Release
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build/Release \
-DCMAKE_CXX_COMPILER=g++-${{matrix.cxx}} \
-DCMAKE_C_COMPILER=gcc-${{matrix.cxx}} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG -m${{matrix.bits}}" \
-DCMAKE_C_FLAGS_RELEASE="-O3 -DNDEBUG -m${{matrix.bits}}" \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DRYML_CXX_STANDARD=${{matrix.std}} \
-DRYML_BUILD_TESTS=ON \
-DRYML_VALGRIND=${{matrix.vg}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_DBG=OFF
- name: 'build Release ::: -O3 -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-build --parallel --verbose
- name: 'run Release ::: -O3 -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-run
- name: '---------------------------------------------------------'
run: |
echo "Release ::: -Os -DNDEBUG -m${{matrix.bits}}"
- name: 'configure Release ::: -Os -DNDEBUG -m${{matrix.bits}}'
run: |
rm -rf build/Release
export C4_EXTERN_DIR=`pwd`/build/extern
cmake -S . -B build/Release \
-DCMAKE_CXX_COMPILER=g++-${{matrix.cxx}} \
-DCMAKE_C_COMPILER=gcc-${{matrix.cxx}} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-Os -DNDEBUG -m${{matrix.bits}}" \
-DCMAKE_C_FLAGS_RELEASE="-Os -DNDEBUG -m${{matrix.bits}}" \
-DC4_CXX_STANDARD=${{matrix.std}} \
-DRYML_CXX_STANDARD=${{matrix.std}} \
-DRYML_BUILD_TESTS=ON \
-DRYML_VALGRIND=${{matrix.vg}} \
-DRYML_DEV=ON \
-DRYML_BUILD_BENCHMARKS=OFF \
-DRYML_DBG=OFF
- name: 'build Release ::: -Os -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-build --parallel --verbose
- name: 'run Release ::: -Os -DNDEBUG -m${{matrix.bits}}'
run: |
cmake --build build/Release --target ryml-test-run
gccsan:
if: always()
continue-on-error: false
name: gccsan/${{matrix.bt}}/${{matrix.cxx}}/c++${{matrix.std}}
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu22.04:latest
strategy:
fail-fast: false
matrix:
include:
- std: 11
cxx: g++-14
bt: asan
bitlinks: static64
- std: 14
cxx: g++-14
bt: asan
bitlinks: static64
- std: 17
cxx: g++-14
bt: asan
bitlinks: static64
- std: 20
cxx: g++-14
bt: asan
bitlinks: static64
- std: 11
cxx: g++-14
bt: lsan
bitlinks: static64
- std: 14
cxx: g++-14
bt: lsan
bitlinks: static64
- std: 17
cxx: g++-14
bt: lsan
bitlinks: static64
- std: 20
cxx: g++-14
bt: lsan
bitlinks: static64
- std: 11
cxx: g++-14
bt: tsan
bitlinks: static64
- std: 14
cxx: g++-14
bt: tsan
bitlinks: static64
- std: 17
cxx: g++-14
bt: tsan
bitlinks: static64
- std: 20
cxx: g++-14
bt: tsan
bitlinks: static64
- std: 11
cxx: g++-14
bt: ubsan
bitlinks: static64
- std: 14
cxx: g++-14
bt: ubsan
bitlinks: static64
- std: 17
cxx: g++-14
bt: ubsan
bitlinks: static64
- std: 20
cxx: g++-14
bt: ubsan
bitlinks: static64
env:
STD: ${{matrix.std}}
CXX_: ${{matrix.cxx}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
steps:
- name: checkout (action + docker)
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- run: git config --system --add safe.directory '*'
- run: c4core-install ${{matrix.cxx}}
- name: show info
run: source .github/setenv.sh && c4_show_info
- name: shared64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared64
- name: shared64-build
run: source .github/setenv.sh && c4_build_test shared64
- name: shared64-run
run: source .github/setenv.sh && c4_run_test shared64
- name: shared64-pack
run: source .github/setenv.sh && c4_package shared64
- name: static64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static64
- name: static64-build
run: source .github/setenv.sh && c4_build_test static64
- name: static64-run
run: source .github/setenv.sh && c4_run_test static64
- name: static64-pack
run: source .github/setenv.sh && c4_package static64
- name: static32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static32
- name: static32-build
run: source .github/setenv.sh && c4_build_test static32
- name: static32-run
run: source .github/setenv.sh && c4_run_test static32
- name: static32-pack
run: source .github/setenv.sh && c4_package static32
- name: shared32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared32
- name: shared32-build
run: source .github/setenv.sh && c4_build_test shared32
- name: shared32-run
run: source .github/setenv.sh && c4_run_test shared32
- name: shared32-pack
run: source .github/setenv.sh && c4_package shared32
arm:
if: always()
continue-on-error: false
runs-on: ubuntu-24.04
container: ghcr.io/biojppm/c4core/ubuntu18.04:latest
name: arm/c++${{matrix.std}}/${{matrix.bt}}
strategy:
fail-fast: false
matrix:
include:
- std: 11
bt: Debug
cxx: arm-linux-gnueabihf-gcc
toolchain: ext/c4core/cmake/Toolchain-Arm-ubuntu.cmake
- std: 11
bt: Release
cxx: arm-linux-gnueabihf-gcc
toolchain: ext/c4core/cmake/Toolchain-Arm-ubuntu.cmake
- std: 14
bt: Debug
cxx: arm-linux-gnueabihf-gcc
toolchain: ext/c4core/cmake/Toolchain-Arm-ubuntu.cmake
- std: 14
bt: Release
cxx: arm-linux-gnueabihf-gcc
toolchain: ext/c4core/cmake/Toolchain-Arm-ubuntu.cmake
- std: 17
bt: Debug
cxx: arm-linux-gnueabihf-gcc
toolchain: ext/c4core/cmake/Toolchain-Arm-ubuntu.cmake
- std: 17
bt: Release
cxx: arm-linux-gnueabihf-gcc
toolchain: ext/c4core/cmake/Toolchain-Arm-ubuntu.cmake
env:
TOOLCHAIN: ${{matrix.toolchain}}
STD: ${{matrix.std}}
CXX_: ${{matrix.cxx}}
BT: ${{matrix.bt}}
BITLINKS: ${{matrix.bitlinks}}
VG: ${{matrix.vg}}
SAN: ${{matrix.san}}
LINT: ${{matrix.lint}}
OS: ${{matrix.os}}
steps:
- name: checkout (manually)
run: |
set -xeo pipefail
env | sort
echo GITHUB_SERVER_URL=$GITHUB_SERVER_URL
echo GITHUB_REPOSITORY=$GITHUB_REPOSITORY
echo GITHUB_REF=$GITHUB_REF
echo GITHUB_REF_NAME=$GITHUB_REF_NAME
echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF
repo=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY
# check the branch
# https://stackoverflow.com/questions/58033366
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
echo branch=$branch
# does the branch exist in the repo?
if [ -z "$(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
# refs/pull/485/merge -> pull/485/head
branch=`echo ${GITHUB_REF#refs/} | sed -e 's:merge:head:g'`
echo "... falling back to $branch"
# does the fallback exist?
if [ -z "(git ls-remote $repo | grep $branch)" ] ; then
echo "branch $branch does not exist on $repo"
exit 1
else
echo "branch $branch exists on $repo"
localbranch=$(echo $branch | sed -e 's@[/:]@_@g')
branch=$branch:$localbranch
echo "naming locally as $branch"
fi
fi
# finally, create the local repo
git init -q .
# needed for running in the docker image.
# see https://github.com/actions/checkout/issues/1169
git config --system --add safe.directory '*'
# finally, do it!
git remote add origin $repo
git fetch origin $branch
git reset --hard FETCH_HEAD
git submodule update --init --recursive
# show the log
git log --graph --date=relative --date-order --color=always \
--pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' \
| head -30 \
|| echo -n
# show the last commit
git log --name-status HEAD^..HEAD
- name: install gcc-arm-linux-gnueabihf
run: c4core-install arm-linux-gnueabihf; c4core-install qemu
- name: show info
run: source .github/setenv.sh && c4_show_info
- name: configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test arm
- name: build
run: source .github/setenv.sh && c4_build_test arm
- name: run
run: source .github/setenv.sh && c4_run_test arm
- name: pack
run: source .github/setenv.sh && c4_package arm