Skip to content

Commit ffef826

Browse files
committed
CI: add missing compilation flavor tests
1 parent bed66ab commit ffef826

84 files changed

Lines changed: 1107 additions & 249 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/clang.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,77 @@ jobs:
230230
run: source .github/setenv.sh && c4_run_test shared32
231231
- name: shared32-pack
232232
run: source .github/setenv.sh && c4_package shared32
233+
nocallbacks:
234+
if: always()
235+
continue-on-error: false
236+
name: nocallbacks/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
237+
runs-on: ubuntu-24.04
238+
container: ghcr.io/biojppm/c4core/ubuntu22.04:latest
239+
needs: canary
240+
strategy:
241+
fail-fast: false
242+
matrix:
243+
include:
244+
- std: 20
245+
cxx: clang++-18
246+
bt: Debug
247+
bitlinks: shared64 static32
248+
- std: 20
249+
cxx: clang++-18
250+
bt: Release
251+
bitlinks: shared64 static32
252+
env:
253+
STD: ${{matrix.std}}
254+
CXX_: ${{matrix.cxx}}
255+
BT: ${{matrix.bt}}
256+
BITLINKS: ${{matrix.bitlinks}}
257+
VG: ${{matrix.vg}}
258+
SAN: ${{matrix.san}}
259+
LINT: ${{matrix.lint}}
260+
OS: ${{matrix.os}}
261+
CMAKE_FLAGS: -DRYML_DEFAULT_CALLBACKS=OFF
262+
steps:
263+
- name: checkout (action + docker)
264+
uses: actions/checkout@v4
265+
with:
266+
submodules: recursive
267+
fetch-depth: 0
268+
- run: git config --system --add safe.directory '*'
269+
- run: c4core-install ${{matrix.cxx}}
270+
- name: show info
271+
run: source .github/setenv.sh && c4_show_info
272+
- name: shared64-configure---------------------------------------------------
273+
run: source .github/setenv.sh && c4_cfg_test shared64
274+
- name: shared64-build
275+
run: source .github/setenv.sh && c4_build_test shared64
276+
- name: shared64-run
277+
run: source .github/setenv.sh && c4_run_test shared64
278+
- name: shared64-pack
279+
run: source .github/setenv.sh && c4_package shared64
280+
- name: static64-configure---------------------------------------------------
281+
run: source .github/setenv.sh && c4_cfg_test static64
282+
- name: static64-build
283+
run: source .github/setenv.sh && c4_build_test static64
284+
- name: static64-run
285+
run: source .github/setenv.sh && c4_run_test static64
286+
- name: static64-pack
287+
run: source .github/setenv.sh && c4_package static64
288+
- name: static32-configure---------------------------------------------------
289+
run: source .github/setenv.sh && c4_cfg_test static32
290+
- name: static32-build
291+
run: source .github/setenv.sh && c4_build_test static32
292+
- name: static32-run
293+
run: source .github/setenv.sh && c4_run_test static32
294+
- name: static32-pack
295+
run: source .github/setenv.sh && c4_package static32
296+
- name: shared32-configure---------------------------------------------------
297+
run: source .github/setenv.sh && c4_cfg_test shared32
298+
- name: shared32-build
299+
run: source .github/setenv.sh && c4_build_test shared32
300+
- name: shared32-run
301+
run: source .github/setenv.sh && c4_run_test shared32
302+
- name: shared32-pack
303+
run: source .github/setenv.sh && c4_package shared32
233304
extended:
234305
if: always()
235306
continue-on-error: false

.github/workflows/clang.ys

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ jobs:
2929
fail-fast: false
3030
matrix:
3131
include: *include1
32-
env:: load('share/env.yaml') +
33-
{'CMAKE_FLAGS' '-DRYML_WITH_TAB_TOKENS=ON'}
32+
env:: load('share/env.yaml') + {'CMAKE_FLAGS' '-DRYML_WITH_TAB_TOKENS=ON'}
3433
steps:: checkout-action-docker + install-cxx + run-steps
3534

3635
#----------------------------------------------------------------------------
@@ -47,6 +46,19 @@ jobs:
4746
load('share/env.yaml')
4847
steps:: checkout-action-docker + install-cxx + run-steps
4948

49+
#----------------------------------------------------------------------------
50+
nocallbacks:
51+
:: setup-job('clang' 'nocallbacks')
52+
name: nocallbacks/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
53+
:: runs-on-docker-c4core('22.04')
54+
needs: canary
55+
strategy:
56+
fail-fast: false
57+
matrix:
58+
include: *include1
59+
env:: load('share/env.yaml') + {'CMAKE_FLAGS' '-DRYML_DEFAULT_CALLBACKS=OFF'}
60+
steps:: checkout-action-docker + install-cxx + run-steps
61+
5062
#----------------------------------------------------------------------------
5163
extended:
5264
:: setup-job('clang' 'extended')

.github/workflows/coverage.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ jobs:
3131
- std: 11
3232
namesfx: 64bit
3333
cmk: -DCMAKE_CXX_FLAGS=-m64
34+
- std: 11
35+
namesfx: 64bit_nocb
36+
cmk: -DCMAKE_CXX_FLAGS=-m64 -DRYML_DEFAULT_CALLBACKS=OFF
3437
- std: 11
3538
namesfx: 64bit_noexc
3639
cmk: -DCMAKE_CXX_FLAGS='-m64 -fno-exceptions -fno-rtti'

.github/workflows/coverage.ys

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
include:
1515
# test also with the debug code enabled
1616
- {std: 11, namesfx: 64bit , cmk: "-DCMAKE_CXX_FLAGS=-m64"}
17+
- {std: 11, namesfx: 64bit_nocb , cmk: "-DCMAKE_CXX_FLAGS=-m64 -DRYML_DEFAULT_CALLBACKS=OFF"}
1718
- {std: 11, namesfx: 64bit_noexc, cmk: "-DCMAKE_CXX_FLAGS='-m64 -fno-exceptions -fno-rtti'"}
1819
- {std: 11, namesfx: 64bit_exc , cmk: "-DCMAKE_CXX_FLAGS='-m64' -DRYML_DEFAULT_CALLBACK_USES_EXCEPTIONS=ON"}
1920
- {std: 11, namesfx: 64bit_dbg , cmk: "-DCMAKE_CXX_FLAGS=-m64 -DRYML_DBG=ON"}

.github/workflows/gcc.yml

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,151 @@ jobs:
452452
run: source .github/setenv.sh && c4_run_test shared32
453453
- name: shared32-pack
454454
run: source .github/setenv.sh && c4_package shared32
455+
nocallbacks:
456+
if: always()
457+
continue-on-error: false
458+
name: nocallbacks/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
459+
runs-on: ubuntu-24.04
460+
container: ghcr.io/biojppm/c4core/ubuntu${{matrix.img}}:latest
461+
needs: canary
462+
strategy:
463+
fail-fast: false
464+
matrix:
465+
include:
466+
- std: 11
467+
cxx: g++-13
468+
bt: Debug
469+
bitlinks: shared64 static32
470+
img: '22.04'
471+
- std: 11
472+
cxx: g++-13
473+
bt: Release
474+
bitlinks: shared64 static32
475+
img: '22.04'
476+
- std: 20
477+
cxx: g++-13
478+
bt: Debug
479+
bitlinks: shared64 static32
480+
img: '22.04'
481+
- std: 20
482+
cxx: g++-13
483+
bt: Release
484+
bitlinks: shared64 static32
485+
img: '22.04'
486+
- std: 11
487+
cxx: g++-5
488+
bt: Debug
489+
bitlinks: shared64 static32
490+
img: '18.04'
491+
- std: 11
492+
cxx: g++-5
493+
bt: Release
494+
bitlinks: shared64 static32
495+
img: '18.04'
496+
- std: 11
497+
cxx: g++-4.8
498+
bt: Debug
499+
bitlinks: shared64 static32
500+
img: '18.04'
501+
- std: 11
502+
cxx: g++-4.8
503+
bt: Release
504+
bitlinks: shared64 static32
505+
img: '18.04'
506+
env:
507+
STD: ${{matrix.std}}
508+
CXX_: ${{matrix.cxx}}
509+
BT: ${{matrix.bt}}
510+
BITLINKS: ${{matrix.bitlinks}}
511+
VG: ${{matrix.vg}}
512+
SAN: ${{matrix.san}}
513+
LINT: ${{matrix.lint}}
514+
OS: ${{matrix.os}}
515+
CMAKE_FLAGS: -DRYML_DEFAULT_CALLBACKS=OFF
516+
steps:
517+
- name: checkout (manually)
518+
run: |
519+
set -xeo pipefail
520+
env | sort
521+
echo GITHUB_SERVER_URL=$GITHUB_SERVER_URL
522+
echo GITHUB_REPOSITORY=$GITHUB_REPOSITORY
523+
echo GITHUB_REF=$GITHUB_REF
524+
echo GITHUB_REF_NAME=$GITHUB_REF_NAME
525+
echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF
526+
repo=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY
527+
# check the branch
528+
# https://stackoverflow.com/questions/58033366
529+
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
530+
echo branch=$branch
531+
# does the branch exist in the repo?
532+
if [ -z "$(git ls-remote $repo | grep $branch)" ] ; then
533+
echo "branch $branch does not exist on $repo"
534+
# refs/pull/485/merge -> pull/485/head
535+
branch=`echo ${GITHUB_REF#refs/} | sed -e 's:merge:head:g'`
536+
echo "... falling back to $branch"
537+
# does the fallback exist?
538+
if [ -z "(git ls-remote $repo | grep $branch)" ] ; then
539+
echo "branch $branch does not exist on $repo"
540+
exit 1
541+
else
542+
echo "branch $branch exists on $repo"
543+
localbranch=$(echo $branch | sed -e 's@[/:]@_@g')
544+
branch=$branch:$localbranch
545+
echo "naming locally as $branch"
546+
fi
547+
fi
548+
# finally, create the local repo
549+
git init -q .
550+
# needed for running in the docker image.
551+
# see https://github.com/actions/checkout/issues/1169
552+
git config --system --add safe.directory '*'
553+
# finally, do it!
554+
git remote add origin $repo
555+
git fetch origin $branch
556+
git reset --hard FETCH_HEAD
557+
git submodule update --init --recursive
558+
# show the log
559+
git log --graph --date=relative --date-order --color=always \
560+
--pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' \
561+
| head -30 \
562+
|| echo -n
563+
# show the last commit
564+
git log --name-status HEAD^..HEAD
565+
- run: c4core-install ${{matrix.cxx}}
566+
- name: show info
567+
run: source .github/setenv.sh && c4_show_info
568+
- name: shared64-configure---------------------------------------------------
569+
run: source .github/setenv.sh && c4_cfg_test shared64
570+
- name: shared64-build
571+
run: source .github/setenv.sh && c4_build_test shared64
572+
- name: shared64-run
573+
run: source .github/setenv.sh && c4_run_test shared64
574+
- name: shared64-pack
575+
run: source .github/setenv.sh && c4_package shared64
576+
- name: static64-configure---------------------------------------------------
577+
run: source .github/setenv.sh && c4_cfg_test static64
578+
- name: static64-build
579+
run: source .github/setenv.sh && c4_build_test static64
580+
- name: static64-run
581+
run: source .github/setenv.sh && c4_run_test static64
582+
- name: static64-pack
583+
run: source .github/setenv.sh && c4_package static64
584+
- name: static32-configure---------------------------------------------------
585+
run: source .github/setenv.sh && c4_cfg_test static32
586+
- name: static32-build
587+
run: source .github/setenv.sh && c4_build_test static32
588+
- name: static32-run
589+
run: source .github/setenv.sh && c4_run_test static32
590+
- name: static32-pack
591+
run: source .github/setenv.sh && c4_package static32
592+
- name: shared32-configure---------------------------------------------------
593+
run: source .github/setenv.sh && c4_cfg_test shared32
594+
- name: shared32-build
595+
run: source .github/setenv.sh && c4_build_test shared32
596+
- name: shared32-run
597+
run: source .github/setenv.sh && c4_run_test shared32
598+
- name: shared32-pack
599+
run: source .github/setenv.sh && c4_package shared32
455600
dbg:
456601
if: always()
457602
continue-on-error: false

.github/workflows/gcc.ys

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,19 @@ jobs:
5353
env:: load('share/env.yaml') + {'CXXFLAGS' '-fno-exceptions -fno-rtti'}
5454
steps:: checkout-manual + install-cxx + run-steps
5555

56+
#----------------------------------------------------------------------------
57+
nocallbacks:
58+
:: setup-job('gcc' 'nocallbacks')
59+
name: nocallbacks/${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
60+
:: runs-on-docker-c4core('${{matrix.img}}')
61+
needs: canary
62+
strategy:
63+
fail-fast: false
64+
matrix:
65+
include: *include1
66+
env:: load('share/env.yaml') + {'CMAKE_FLAGS' '-DRYML_DEFAULT_CALLBACKS=OFF'}
67+
steps:: checkout-manual + install-cxx + run-steps
68+
5669
#----------------------------------------------------------------------------
5770
dbg:
5871
:: setup-job('gcc' 'dbg')

0 commit comments

Comments
 (0)