v0.7.0 #614
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: rarearchs | |
defaults: | |
run: | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash -e -x {0} | |
on: | |
# https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662 | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
rarearchs: | |
if: | | |
(!contains(github.event.head_commit.message, 'skip all')) || | |
(!contains(github.event.head_commit.message, 'skip rarearchs')) || | |
contains(github.event.head_commit.message, 'only rarearchs') | |
name: ${{matrix.arch}}/c++${{matrix.std}}/${{matrix.bt}} | |
continue-on-error: true | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- {std: 11, bt: Debug , arch: aarch64, distro: ubuntu20.04} | |
- {std: 11, bt: Release, arch: aarch64, distro: ubuntu20.04} | |
- {std: 14, bt: Debug , arch: aarch64, distro: ubuntu20.04} | |
- {std: 14, bt: Release, arch: aarch64, distro: ubuntu20.04} | |
- {std: 17, bt: Debug , arch: aarch64, distro: ubuntu20.04} | |
- {std: 17, bt: Release, arch: aarch64, distro: ubuntu20.04} | |
# | |
- {std: 11, bt: Debug , arch: ppc64le, distro: ubuntu20.04} | |
- {std: 11, bt: Release, arch: ppc64le, distro: ubuntu20.04} | |
- {std: 14, bt: Debug , arch: ppc64le, distro: ubuntu20.04} | |
- {std: 14, bt: Release, arch: ppc64le, distro: ubuntu20.04} | |
- {std: 17, bt: Debug , arch: ppc64le, distro: ubuntu20.04} | |
- {std: 17, bt: Release, arch: ppc64le, distro: ubuntu20.04} | |
# | |
- {std: 11, bt: Debug , arch: s390x , distro: ubuntu20.04} | |
- {std: 11, bt: Release, arch: s390x , distro: ubuntu20.04} | |
- {std: 14, bt: Debug , arch: s390x , distro: ubuntu20.04} | |
- {std: 14, bt: Release, arch: s390x , distro: ubuntu20.04} | |
- {std: 17, bt: Debug , arch: s390x , distro: ubuntu20.04} | |
- {std: 17, bt: Release, arch: s390x , distro: ubuntu20.04} | |
# | |
#- {std: 11, bt: Debug , arch: armv6 , distro: bullseye} | |
#- {std: 11, bt: Release, arch: armv6 , distro: bullseye} | |
#- {std: 14, bt: Debug , arch: armv6 , distro: bullseye} | |
#- {std: 14, bt: Release, arch: armv6 , distro: bullseye} | |
#- {std: 17, bt: Debug , arch: armv6 , distro: bullseye} | |
#- {std: 17, bt: Release, arch: armv6 , distro: bullseye} | |
# | |
#- {std: 11, bt: Debug , arch: armv7 , distro: ubuntu20.04} | |
#- {std: 11, bt: Release, arch: armv7 , distro: ubuntu20.04} | |
#- {std: 14, bt: Debug , arch: armv7 , distro: ubuntu20.04} | |
#- {std: 14, bt: Release, arch: armv7 , distro: ubuntu20.04} | |
#- {std: 17, bt: Debug , arch: armv7 , distro: ubuntu20.04} | |
#- {std: 17, bt: Release, arch: armv7 , distro: ubuntu20.04} | |
steps: | |
- {name: checkout, uses: actions/checkout@v4, with: {submodules: recursive}} | |
- name: test | |
uses: uraimo/[email protected] | |
with: | |
arch: ${{matrix.arch}} | |
distro: ${{matrix.distro}} | |
install: | | |
set -x | |
start_time=$SECONDS | |
time apt-get update -y | |
time apt-get install -y \ | |
git \ | |
build-essential | |
# arm platforms need an up-to-date cmake: | |
# https://gitlab.kitware.com/cmake/cmake/-/issues/20568 | |
if [ "${{matrix.arch}}" == "armv6" ] || [ "${{matrix.arch}}" == "armv7" ] ; then | |
time apt-get install -y \ | |
gpg \ | |
wget \ | |
apt-transport-https | |
wget --no-check-certificate -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null | |
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null | |
time apt-get update -y | |
rm /usr/share/keyrings/kitware-archive-keyring.gpg | |
time apt-get install kitware-archive-keyring | |
time apt-get update -y | |
fi | |
time apt-get install -y cmake cmake-data | |
cmake --version | |
echo "install took $((SECONDS - start_time))" | |
run: | | |
set -x | |
start_time=$SECONDS | |
uname -a | |
pwd | |
ls -lFhp . | |
# | |
bdir=build_${{matrix.arch}}_${{matrix.bt}}_${{matrix.std}} | |
idir=install_${{matrix.arch}}_${{matrix.bt}}_${{matrix.std}} | |
mkdir -p $bdir | |
# | |
time cmake -S . -B $bdir \ | |
-DCMAKE_INSTALL_PREFIX=$idir \ | |
-DCMAKE_BUILD_TYPE=${{matrix.bt}} \ | |
-DC4_CXX_STANDARD=${{matrix.std}} \ | |
-DCXX_STANDARD=${{matrix.std}} \ | |
-DRYML_DEV=ON \ | |
-DRYML_TEST_SUITE=ON \ | |
-DRYML_BUILD_BENCHMARKS=OFF \ | |
-DRYML_SANITIZE=OFF \ | |
-DRYML_LINT=OFF \ | |
-DRYML_VALGRIND=OFF | |
# | |
time cmake --build $bdir -j 3 --target ryml-test-build | |
# | |
time cmake --build $bdir -j 3 --target ryml-test-run | |
echo "run took $((SECONDS - start_time))" |