Skip to content

feat: Add boilerplate unit test framework and GitHub workflows for automated testing. #81

feat: Add boilerplate unit test framework and GitHub workflows for automated testing.

feat: Add boilerplate unit test framework and GitHub workflows for automated testing. #81

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"
- "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 == 'ubuntu-20.04'"
name: "Install gcc-10 (for c++20)"
run: |-
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
g++-10 \
gcc-10
sudo ln --symbolic --force /usr/bin/gcc-10 /usr/bin/cc
sudo ln --symbolic --force /usr/bin/g++-10 /usr/bin/c++
sudo ln --symbolic --force /usr/bin/cpp-10 /usr/bin/cpp
- name: "Log tool versions"
run: |-
command -v md5sum
command -v python
command -v tar
command -v task
- name: "Run unit tests"
- run: "task build:unit-test"