Skip to content

Configure pre-commit hooks and GitHub Actions #230

Configure pre-commit hooks and GitHub Actions

Configure pre-commit hooks and GitHub Actions #230

Workflow file for this run

name: CI
on:
push:
branches: [master, develop]
pull_request:
branches: [master, develop]
jobs:
cpp_standard:
name: C++ Standard Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run before script
timeout-minutes: 10
run: |
mkdir -p cpp/build
cd cpp/build
cmake -DBUILD_PLO6=OFF .. ; make
- name: Run script
timeout-minutes: 30
run: |
cd cpp/build
./c_example
./cpp_example
./omaha_example
./plo4_example
./plo5_example
./evaluator5_standalone_example
./evaluator6_standalone_example
./evaluator7_standalone_example
./unit_tests
./unit_tests_evaluator5_standalone
./unit_tests_evaluator6_standalone
./unit_tests_evaluator7_standalone
# - name: Setup Zig
# uses: goto-bus-stop/setup-zig@v1.3.0
# with:
# version: master
# - name: zig build -Drelease-fast
# run: |
# cd cpp
# zig build -Drelease-fast
# - name: zig build -Ddynamic -Drelease-fast
# run: |
# cd cpp
# zig build -Ddynamic -Drelease-fast
# - name: zig build -Dtarget=x86_64-windows -Drelease-fast
# run: |
# cd cpp
# zig build -Dtarget=x86_64-windows -Drelease-fast
# - name: zig build -Domaha -Drelease-fast
# run: |
# cd cpp
# zig build -Domaha -Drelease-fast
# - name: zig build -Domaha -Ddynamic -Drelease-fast
# run: |
# cd cpp
# zig build -Domaha -Ddynamic -Drelease-fast
# - name: zig build -Domaha -Ddynamic -Dtarget=x86_64-windows -Drelease-fast
# run: |
# cd cpp
# zig build -Domaha -Ddynamic -Dtarget=x86_64-windows -Drelease-fast
# - name: zig build and run examples
# run: |
# cd cpp
# zig build examples
# zig-out/bin/c_example
# zig-out/bin/cpp_example
# zig-out/bin/omaha_example
cpp_benchmark:
name: C++ Benchmark
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run before script
timeout-minutes: 10
run: |
mkdir -p cpp/build
cd cpp/build
cmake -DBUILD_PLO5=ON -DBUILD_PLO6=OFF .. ; make
- name: Run script
run: |
cd cpp/build
./benchmark_phevaluator
python-test:
name: Python - Run unit tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Run tests
run: |
cd python
python -m unittest discover -v
python-type-checking:
name: Python - Type checking with mypy
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.8"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Run mypy
run: |
cd python
pip install mypy
mypy .
python-check-install:
name: Python - Check package installation (without releasing)
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install package
run: |
cd python
pip install .