Skip to content

Commit ab28c9f

Browse files
committed
Added GitHub Actions jobs for BSD and Solaris.
1 parent 016cafb commit ab28c9f

1 file changed

Lines changed: 179 additions & 15 deletions

File tree

.github/workflows/ci.yml

Lines changed: 179 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ concurrency:
1818
cancel-in-progress: true
1919

2020
env:
21+
LANG: C.UTF-8
2122
GIT_FETCH_JOBS: 8
2223
NET_RETRY_COUNT: 5
2324
DEFAULT_BUILD_VARIANT: debug,release
@@ -313,6 +314,36 @@ jobs:
313314
- libc++-18-dev
314315
- libc++abi-18-dev
315316

317+
- toolset: clang
318+
vm: freebsd
319+
version: "14.3"
320+
cxxstd64: "11,14,17,20,23,26"
321+
os: ubuntu-latest
322+
323+
- toolset: clang
324+
vm: openbsd
325+
version: "7.7"
326+
cxxstd64: "11,14,17,20,2b"
327+
os: ubuntu-latest
328+
329+
- toolset: gcc
330+
vm: netbsd
331+
version: "10.1"
332+
cxxstd64: "11,14,17,20"
333+
os: ubuntu-latest
334+
335+
- toolset: gcc
336+
vm: dragonflybsd
337+
version: "6.4.0"
338+
cxxstd64: "11,14,17,2a"
339+
os: ubuntu-latest
340+
341+
- toolset: gcc
342+
vm: solaris
343+
version: "11.4-gcc"
344+
cxxstd64: "11,14,17,20,23,26"
345+
os: ubuntu-latest
346+
316347
- toolset: clang
317348
os: macos-14
318349
cxxstd: "11,14,17,20,2b"
@@ -512,25 +543,23 @@ jobs:
512543
fi
513544
DEPINST_ARGS+=("$LIBRARY")
514545
python tools/boostdep/depinst/depinst.py "${DEPINST_ARGS[@]}"
515-
if [ -z "${{matrix.cmake_tests}}" ]
546+
rm -rf ".git"
547+
cd ..
548+
cat > b2-run-tests.sh << "EOF"
549+
#!/usr/bin/env bash
550+
set -e
551+
cd boost-root
552+
./bootstrap.sh
553+
./b2 headers
554+
if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ]
516555
then
517-
./bootstrap.sh
518-
./b2 headers
519-
if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ]
556+
echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam
557+
if [ -n "$GCC_TOOLCHAIN_ROOT" ]
520558
then
521-
echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam
522-
if [ -n "$GCC_TOOLCHAIN_ROOT" ]
523-
then
524-
echo -n " : <compileflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\" <linkflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\"" >> ~/user-config.jam
525-
fi
526-
echo " ;" >> ~/user-config.jam
559+
echo -n " : <compileflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\" <linkflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\"" >> ~/user-config.jam
527560
fi
561+
echo " ;" >> ~/user-config.jam
528562
fi
529-
530-
- name: Run tests
531-
if: matrix.cmake_tests == ''
532-
run: |
533-
cd boost-root
534563
if [ -n "${{matrix.extra_tests}}" ]
535564
then
536565
export BOOST_FILESYSTEM_TEST_WITH_EXAMPLES=1
@@ -561,6 +590,141 @@ jobs:
561590
fi
562591
B2_ARGS+=("libs/$LIBRARY/test")
563592
./b2 "${B2_ARGS[@]}"
593+
EOF
594+
chmod +x b2-run-tests.sh
595+
596+
# Note: The VMs must be created after the workspace is fully prepared, as it will be copied to the VM only once
597+
- name: Setup FreeBSD VM
598+
if: matrix.vm == 'freebsd'
599+
uses: vmactions/freebsd-vm@v1
600+
with:
601+
release: "${{matrix.version}}"
602+
usesh: true
603+
sync: rsync
604+
copyback: false
605+
envs: "LANG LIBRARY DEFAULT_BUILD_VARIANT BUILD_JOBS GCC_TOOLCHAIN_ROOT"
606+
prepare: |
607+
pkg install -y bash
608+
run: |
609+
uname -mrs
610+
sysctl hw.model
611+
sysctl hw.ncpu
612+
sysctl hw.physmem
613+
sysctl hw.usermem
614+
pwd
615+
ls -la
616+
617+
- name: Setup OpenBSD VM
618+
if: matrix.vm == 'openbsd'
619+
uses: vmactions/openbsd-vm@v1
620+
with:
621+
release: "${{matrix.version}}"
622+
usesh: true
623+
sync: rsync
624+
copyback: false
625+
envs: "LANG LIBRARY DEFAULT_BUILD_VARIANT BUILD_JOBS GCC_TOOLCHAIN_ROOT"
626+
prepare: |
627+
pkg_add bash
628+
run: |
629+
uname -mrs
630+
sysctl hw.model
631+
sysctl hw.ncpu
632+
sysctl hw.physmem
633+
sysctl hw.usermem
634+
pwd
635+
ls -la
636+
637+
- name: Setup NetBSD VM
638+
if: matrix.vm == 'netbsd'
639+
uses: vmactions/netbsd-vm@v1
640+
with:
641+
release: "${{matrix.version}}"
642+
usesh: true
643+
sync: rsync
644+
copyback: false
645+
envs: "LANG LIBRARY DEFAULT_BUILD_VARIANT BUILD_JOBS GCC_TOOLCHAIN_ROOT"
646+
run: |
647+
uname -mrs
648+
/sbin/sysctl hw.model
649+
/sbin/sysctl hw.ncpu
650+
/sbin/sysctl hw.physmem64
651+
/sbin/sysctl hw.usermem64
652+
pwd
653+
ls -la
654+
655+
- name: Setup DragonFlyBSD VM
656+
if: matrix.vm == 'dragonflybsd'
657+
uses: vmactions/dragonflybsd-vm@v1
658+
with:
659+
release: "${{matrix.version}}"
660+
usesh: true
661+
sync: rsync
662+
copyback: false
663+
envs: "LANG LIBRARY DEFAULT_BUILD_VARIANT BUILD_JOBS GCC_TOOLCHAIN_ROOT"
664+
prepare: |
665+
pkg install -y bash
666+
run: |
667+
uname -mrs
668+
sysctl hw.model
669+
sysctl hw.ncpu
670+
sysctl hw.physmem
671+
sysctl hw.usermem
672+
pwd
673+
ls -la
674+
675+
- name: Setup Solaris VM
676+
if: matrix.vm == 'solaris'
677+
uses: vmactions/solaris-vm@v1
678+
with:
679+
release: "${{matrix.version}}"
680+
usesh: true
681+
sync: rsync
682+
copyback: false
683+
envs: "LANG LIBRARY DEFAULT_BUILD_VARIANT BUILD_JOBS GCC_TOOLCHAIN_ROOT"
684+
run: |
685+
uname -mrs
686+
pwd
687+
ls -la
688+
689+
- name: Run tests
690+
if: matrix.cmake_tests == '' && matrix.vm == ''
691+
run: |
692+
bash ./b2-run-tests.sh
693+
694+
- name: Run tests (FreeBSD VM)
695+
if: matrix.cmake_tests == '' && matrix.vm == 'freebsd'
696+
shell: freebsd {0}
697+
run: |
698+
cd "$GITHUB_WORKSPACE"
699+
bash ./b2-run-tests.sh
700+
701+
- name: Run tests (OpenBSD VM)
702+
if: matrix.cmake_tests == '' && matrix.vm == 'openbsd'
703+
shell: openbsd {0}
704+
run: |
705+
cd "$GITHUB_WORKSPACE"
706+
bash ./b2-run-tests.sh
707+
708+
- name: Run tests (NetBSD VM)
709+
if: matrix.cmake_tests == '' && matrix.vm == 'netbsd'
710+
shell: netbsd {0}
711+
run: |
712+
cd "$GITHUB_WORKSPACE"
713+
bash ./b2-run-tests.sh
714+
715+
- name: Run tests (DragonFlyBSD VM)
716+
if: matrix.cmake_tests == '' && matrix.vm == 'dragonflybsd'
717+
shell: dragonflybsd {0}
718+
run: |
719+
cd "$GITHUB_WORKSPACE"
720+
bash ./b2-run-tests.sh
721+
722+
- name: Run tests (Solaris VM)
723+
if: matrix.cmake_tests == '' && matrix.vm == 'solaris'
724+
shell: solaris {0}
725+
run: |
726+
cd "$GITHUB_WORKSPACE"
727+
bash ./b2-run-tests.sh
564728
565729
- name: Run CMake tests
566730
if: matrix.cmake_tests

0 commit comments

Comments
 (0)