Bump actions/upload-pages-artifact from 3 to 5 (#133) #29
This file contains hidden or 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: Build and Test | |
| 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@v7 | |
| - 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@v7 | |
| - 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.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| - "3.14" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Build the extension in place | |
| run: | | |
| cd python | |
| pip install -e . | |
| - name: Run tests | |
| run: | | |
| cd python | |
| python -m unittest discover -v | |
| python-check-install: | |
| name: Python - Check package installation (without releasing) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| - "3.14" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package | |
| run: | | |
| cd python | |
| pip install . | |
| python-test-plo: | |
| name: Python - Run PLO5 unit tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Build with PLO5 support | |
| # The PLO lookup tables are large, so compiling them is slow and | |
| # memory-hungry. They are opt-in via PHEVALUATOR_BUILD_PLO. | |
| # | |
| # Only PLO5 is exercised here: compiling the PLO6 table needs well over | |
| # 12 GB of RAM, which risks OOM-killing the compiler on the 16 GB | |
| # GitHub-hosted runners (gcc uses even more than clang). PLO6 is left to | |
| # local/manual builds. The PLO6 tests are skipped when it is not built. | |
| timeout-minutes: 30 | |
| run: | | |
| cd python | |
| PHEVALUATOR_BUILD_PLO=5 pip install -e . | |
| - name: Run tests | |
| run: | | |
| cd python | |
| python -m unittest discover -v |