Skip to content

Merge pull request #400 from cryspen/unpacked-boring-fix #288

Merge pull request #400 from cryspen/unpacked-boring-fix

Merge pull request #400 from cryspen/unpacked-boring-fix #288

Workflow file for this run

name: Build & Test C
on:
push:
branches: ["main", "dev"]
pull_request:
branches: ["main", "dev"]
workflow_dispatch:
merge_group:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
if: ${{ github.event_name != 'merge_group' }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory: libcrux-ml-kem/c
steps:
- uses: actions/checkout@v4
- name: πŸ”¨ Build (c)
run: |
cmake -B build
cmake --build build
- name: πŸ”¨ Build (cg)
working-directory: libcrux-ml-kem/cg
run: |
cmake -B build
cmake --build build
# FIXME: Benchmark build for cg on Windows CI is not working right now.
if: ${{ matrix.os != 'windows-latest' }}
- name: πŸƒπŸ»β€β™€οΈ Test (c)
run: ./build/Debug/ml_kem_test
if: ${{ matrix.os == 'windows-latest' }}
- name: πŸƒπŸ»β€β™€οΈ Test (c)
run: ./build/ml_kem_test
if: ${{ matrix.os != 'windows-latest' }}
# FIXME: Benchmark build for cg on Windows CI are not working right now.
# - name: πŸƒπŸ»β€β™€οΈ Test (cg)
# working-directory: libcrux-ml-kem/cg
# run: ./build/Debug/ml_kem_test
# if: ${{ matrix.os == 'windows-latest' }}
- name: πŸƒπŸ»β€β™€οΈ Test (cg)
working-directory: libcrux-ml-kem/cg
run: ./build/ml_kem_test
if: ${{ matrix.os != 'windows-latest' }}
- name: πŸ”¨ Build Release
run: |
rm -rf build
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
if: ${{ matrix.os != 'windows-latest' }}
benchmark:
if: ${{ github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch' }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory: libcrux-ml-kem/c
steps:
- uses: actions/checkout@v4
- name: πŸ”¨ Build Release
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
# FIXME: Benchmarks on Windows CI are not working right now.
# - name: πŸƒπŸ»β€β™€οΈ Benchmark
# run: ./build/Release/ml_kem_bench
# if: ${{ matrix.os == 'windows-latest' }}
- name: πŸƒπŸ»β€β™€οΈ Benchmark (c)
run: ./build/ml_kem_bench
if: ${{ matrix.os != 'windows-latest' && (github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch') }}
- name: πŸƒπŸ»β€β™€οΈ Benchmark (cg)
working-directory: libcrux-ml-kem/cg
run: ./build/ml_kem_bench
if: ${{ matrix.os != 'windows-latest' && (github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch') }}
mq_status:
if: |
always() &&
(github.event_name == 'workflow_dispatch' || github.event_name == 'merge_group')
needs: [benchmark]
uses: cryspen/actions/.github/workflows/merge-queue-status.yml@jonas/merge-queue-status
with:
needs_json: "${{toJSON(needs)}}"