Enhance security of regression test runs and execute in parallel. #265
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: C/C++ build | |
on: [push, pull_request] | |
jobs: | |
cmake_build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-24.04] # [ubuntu-latest, macos-latest] | |
compiler: [g++, clang++] | |
runs-on: ${{ matrix.os }} | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
steps: | |
- name: Setup NASM | |
uses: ilammy/setup-nasm@v1 | |
- name: Checkout | |
uses: actions/checkout@v4.1.7 | |
- name: Setup Cache | |
uses: ./.github/actions/setup_cache | |
with: | |
compiler: ${{ matrix.compiler }} | |
os: ${{ matrix.os }} | |
- name: Configure and Build Project | |
uses: threeal/cmake-action@main | |
with: | |
cxx-compiler: ${{ matrix.compiler }} | |
- name: Build tests | |
run: cd build && pwd && make -j | |
- name: Install Python 3.10 | |
run: | | |
sudo add-apt-repository -y ppa:deadsnakes/ppa | |
sudo apt update -y | |
sudo apt install -y python3.10 python3.10-venv python3.10-dev | |
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 | |
- name: Install test dependencies | |
run: | | |
python3.10 -m pip install --upgrade pip setuptools wheel --no-input | |
python3.10 -m pip install yapf cpplint zarr xarray --no-input | |
- name: Run tests | |
run: | | |
cd build/mdio/ \ | |
&& ./mdio_acceptance_test \ | |
&& ./mdio_variable_test \ | |
&& ./mdio_dataset_test \ | |
&& ./mdio_dataset_factory_test \ | |
&& ./mdio_dataset_validator_test \ | |
&& ./mdio_stats_test \ | |
&& ./mdio_utils_trim_test \ | |
&& ./mdio_utils_delete_test \ | |
&& ./mdio_variable_collection_test |