mirror of
https://github.com/pseXperiments/icicle.git
synced 2026-01-07 22:53:56 -05:00
This PR introduces major updates for ICICLE Core, Rust and Golang bindings --------- Co-authored-by: Yuval Shekel <yshekel@gmail.com> Co-authored-by: DmytroTym <dmytrotym1@gmail.com> Co-authored-by: Otsar <122266060+Otsar-Raikou@users.noreply.github.com> Co-authored-by: VitaliiH <vhnatyk@gmail.com> Co-authored-by: release-bot <release-bot@ingonyama.com> Co-authored-by: Stas <spolonsky@icloud.com> Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com> Co-authored-by: ImmanuelSegol <3ditds@gmail.com> Co-authored-by: JimmyHongjichuan <45908291+JimmyHongjichuan@users.noreply.github.com> Co-authored-by: pierre <pierreuu@gmail.com> Co-authored-by: Leon Hibnik <107353745+LeonHibnik@users.noreply.github.com> Co-authored-by: nonam3e <timur@ingonyama.com> Co-authored-by: Vlad <88586482+vladfdp@users.noreply.github.com> Co-authored-by: LeonHibnik <leon@ingonyama.com> Co-authored-by: nonam3e <71525212+nonam3e@users.noreply.github.com> Co-authored-by: vladfdp <vlad.heintz@gmail.com>
74 lines
2.3 KiB
YAML
74 lines
2.3 KiB
YAML
name: C++/CUDA
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- V2
|
|
push:
|
|
branches:
|
|
- main
|
|
- V2
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check-changed-files:
|
|
uses: ./.github/workflows/check-changed-files.yml
|
|
|
|
check-format:
|
|
name: Check Code Format
|
|
runs-on: ubuntu-22.04
|
|
needs: check-changed-files
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Check clang-format
|
|
if: needs.check-changed-files.outputs.cpp_cuda == 'true'
|
|
run: if [[ $(find ./ \( -path ./icicle/build -prune -o -path ./**/target -prune -o -path ./examples -prune \) -iname *.h -or -iname *.cuh -or -iname *.cu -or -iname *.c -or -iname *.cpp | xargs clang-format --dry-run -ferror-limit=1 -style=file 2>&1) ]]; then echo "Please run clang-format"; exit 1; fi
|
|
|
|
test-linux-curve:
|
|
name: Test on Linux
|
|
runs-on: [self-hosted, Linux, X64, icicle]
|
|
needs: [check-changed-files, check-format]
|
|
strategy:
|
|
matrix:
|
|
curve: [bn254, bls12_381, bls12_377, bw6_761]
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
- name: Build curve
|
|
working-directory: ./icicle
|
|
if: needs.check-changed-files.outputs.cpp_cuda == 'true'
|
|
run: |
|
|
mkdir -p build && rm -rf build/*
|
|
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DCURVE=${{ matrix.curve }} -DG2=ON -S . -B build
|
|
cmake --build build -j
|
|
- name: Run C++ curve Tests
|
|
working-directory: ./icicle/build/tests
|
|
if: needs.check-changed-files.outputs.cpp_cuda == 'true'
|
|
run: ctest
|
|
|
|
test-linux-field:
|
|
name: Test on Linux
|
|
runs-on: [self-hosted, Linux, X64, icicle]
|
|
needs: [check-changed-files, check-format]
|
|
strategy:
|
|
matrix:
|
|
field: [babybear]
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
- name: Build field
|
|
working-directory: ./icicle
|
|
if: needs.check-changed-files.outputs.cpp_cuda == 'true'
|
|
run: |
|
|
mkdir -p build && rm -rf build/*
|
|
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DFIELD=${{ matrix.field }} -DEXT_FIELD=ON -S . -B build
|
|
cmake --build build -j
|
|
- name: Run C++ field Tests
|
|
working-directory: ./icicle/build/tests
|
|
if: needs.check-changed-files.outputs.cpp_cuda == 'true'
|
|
run: ctest |