Skip to content

draft: Add error handling libs, including ErrorCode and TraceableException. #176

draft: Add error handling libs, including ErrorCode and TraceableException.

draft: Add error handling libs, including ErrorCode and TraceableException. #176

Workflow file for this run

name: "unit-tests"
on:
pull_request:
push:
schedule:
# Run daily at 00:15 UTC (the 15 is to avoid periods of high load)
- cron: "15 0 * * *"
workflow_dispatch:
permissions: {}
concurrency:
group: "${{github.workflow}}-${{github.ref}}"
# Cancel in-progress jobs for efficiency
cancel-in-progress: true
jobs:
build-ystdlib-cpp:
strategy:
matrix:
os:
- "macos-latest"
- "macos-14"
- "ubuntu-20.04"
- "ubuntu-22.04"
- "ubuntu-24.04"
runs-on: "${{matrix.os}}"
steps:
- uses: "actions/checkout@v4"
with:
submodules: "recursive"
- uses: "actions/setup-python@v5"
with:
python-version: "3.11"
- name: "Install task"
shell: "bash"
run: "npm install -g @go-task/cli"
- if: "matrix.os == 'macos-latest'"
name: "Install coreutils (for md5sum)"
run: "brew install coreutils"
- if: "matrix.os == 'macos-latest'"
name: "Install clang-16 (for c++20)"
run: |-
brew install llvm@16
echo "export CC=/opt/homebrew/opt/llvm@16/bin/clang" >> /Users/runner/.bashrc
echo "export CXX=/opt/homebrew/opt/llvm@16/bin/clang++" >> /Users/runner/.bashrc
- if: "matrix.os == 'ubuntu-20.04'"
name: "Install gcc-10 (for c++20)"
run: |-
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
g++-11 \
gcc-11
sudo ln --symbolic --force /usr/bin/gcc-11 /usr/bin/cc
sudo ln --symbolic --force /usr/bin/g++-11 /usr/bin/c++
sudo ln --symbolic --force /usr/bin/cpp-11 /usr/bin/cpp
- name: "Log tool versions"
run: |-
[ -n "$ZSH_VERSION" ] && source ~/.zshrc || { [ -n "$BASH_VERSION" ] && source ~/.bashrc; }
clang --version
g++ --version
gcc --version
md5sum --version
python --version
tar --version
task --version
- name: "Run unit tests"
run: |-
[ -n "$ZSH_VERSION" ] && source ~/.zshrc || { [ -n "$BASH_VERSION" ] && source ~/.bashrc; }
task clean
task test-all