Skip to content

Commit

Permalink
Revert "Use reusable workflow in testing action (#244)" (#252)
Browse files Browse the repository at this point in the history
This reverts commit f5a9fc8.
  • Loading branch information
x-mass authored Dec 8, 2023
1 parent f5a9fc8 commit 0f73002
Show file tree
Hide file tree
Showing 5 changed files with 161 additions and 77 deletions.
13 changes: 0 additions & 13 deletions .github/workflows/publish-results.yml

This file was deleted.

38 changes: 0 additions & 38 deletions .github/workflows/pull-request.yml

This file was deleted.

145 changes: 145 additions & 0 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Run tests

on:
push:
branches:
- master
pull_request:

# Allows you to run this workflow manually from the Actions tab
#workflow_dispatch:

env:
SUITE_REPO: "NilFoundation/crypto3"
LIB_NAME: "zk"
CACHE_NAME: "checkout-job-cache"

jobs:
handle-syncwith:
if: github.event_name == 'pull_request'
name: Call Reusable SyncWith Handler
uses: NilFoundation/ci-cd/.github/workflows/reusable-handle-syncwith.yml@v1
with:
ci-cd-ref: 'v1'
secrets: inherit

checkout:
runs-on: [self-hosted, tests-runner]
needs: [handle-syncwith]
steps:
- name: Cleanup # TODO - move to scripts on runner
run: |
rm -rf ./* || true
rm -rf ./.??* || true
- name: Checkout suite
uses: actions/checkout@v3
with:
repository: ${{ env.SUITE_REPO }}
submodules: recursive

- name: Checkout source code
uses: actions/checkout@v3
with:
path: ./libs/${{ env.LIB_NAME }}
submodules: recursive

- name: Checkout modules to specified refs
if: needs.handle-syncwith.outputs.prs-refs != ''
uses: NilFoundation/ci-cd/actions/recursive-checkout@v1
with:
paths: |
./**
!./**/.git/**
refs: ${{ needs.handle-syncwith.outputs.prs-refs }}

- name: Cmake and build
env:
CMAKE_ARGS: "
-DCMAKE_BUILD_TYPE=Debug
-DBUILD_SHARED_LIBS=FALSE
-DBUILD_TESTS=TRUE
-DZK_PLACEHOLDER_PROFILING=TRUE
"
run: |
mkdir build
cd build
cmake ${{ env.CMAKE_ARGS }} ..
- name: Archive build results
run: |
touch ${{ env.CACHE_NAME }}.tar.gz
tar -czf ${{ env.CACHE_NAME }}.tar.gz --exclude=${{ env.CACHE_NAME }}.tar.gz .
- name: Cache archived job output
uses: actions/upload-artifact@v3
with:
name: ${{ env.CACHE_NAME }}
path: ${{ env.CACHE_NAME }}.tar.gz
retention-days: 1


run_tests:
runs-on: [self-hosted, tests-runner]
needs: [checkout]
strategy:
fail-fast: false
matrix:
target: [
crypto3_zk_commitment_fold_polynomial_test,
crypto3_zk_commitment_fri_test,
crypto3_zk_commitment_lpc_test,
crypto3_zk_commitment_kzg_test,
crypto3_zk_systems_plonk_placeholder_placeholder_test,
crypto3_zk_commitment_powers_of_tau_test,
crypto3_zk_commitment_proof_of_knowledge_test,
crypto3_zk_commitment_r1cs_gg_ppzksnark_mpc_test,
crypto3_zk_math_expression_test,
crypto3_zk_systems_plonk_plonk_constraint_test,
crypto3_zk_commitment_proof_of_knowledge_test,
crypto3_zk_transcript_transcript_test

# Performance tests pass, but they are excluded from here due to speed.
# crypto3_zk_commitment_lpc_performance_test

# The following tests are temporarily failing.
# crypto3_zk_commitment_pedersen_test
# crypto3_zk_transcript_kimchi_transcript_test
# crypto3_zk_commitment_kimchi_pedersen_test
# crypto3_zk_commitment_type_traits_test
# crypto3_zk_relations_numeric_qap_test
# crypto3_zk_relations_numeric_sap_test
# crypto3_zk_relations_numeric_ssp_test
# crypto3_zk_routing_algorithms_test_routing_algorithms_test
# crypto3_zk_systems_pcd_r1cs_pcd_r1cs_mp_ppzkpcd_r1cs_mp_ppzkpcd_test
# crypto3_zk_systems_plonk_pickles_kimchi_test
# crypto3_zk_systems_plonk_pickles_oracles_test

] # Tests to execute
steps:
- name: Cleanup # TODO - move to scripts on runner
run: |
rm -rf ./* || true
rm -rf ./.??* || true
- name: Upload checkout job cache
uses: actions/download-artifact@v3
with:
name: ${{ env.CACHE_NAME }}

- name: Extract artifacts
run: |
tar -xf ${{ env.CACHE_NAME }}.tar.gz
rm ${{ env.CACHE_NAME }}.tar.gz
- name: Build
working-directory: ./build
run: cmake --build . -t ${{ matrix.target }}

- name: Run test
working-directory: ./build
run: |
cd libs/${{ env.LIB_NAME }}/test
COLOR='\033[0;33m'
echo -e "${COLOR}${{ matrix.target }}"
./${{ matrix.target }}
38 changes: 13 additions & 25 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,9 @@ if(ZK_PLACEHOLDER_PROFILING)
endif()

macro(define_zk_test test)
get_filename_component(name ${test} NAME)
string(REPLACE "/" "_" full_test_name ${CMAKE_WORKSPACE_NAME}_${CURRENT_PROJECT_NAME}_${test}_test)

set(additional_args "")
if(ENABLE_JUNIT_TEST_OUTPUT)
set(TEST_RESULTS_DIR "${CMAKE_CURRENT_BINARY_DIR}/junit_results")
set(TEST_LOGS_DIR "${TEST_RESULTS_DIR}/logs")
file(MAKE_DIRECTORY ${TEST_LOGS_DIR})

set(additional_args "--log_format=JUNIT"
"--log_sink=${TEST_LOGS_DIR}/${full_test_name}.xml")
endif()

cm_test(NAME ${full_test_name} SOURCES ${test}.cpp ARGS ${additional_args})
cm_test(NAME ${full_test_name} SOURCES ${test}.cpp)

target_include_directories(${full_test_name} PRIVATE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
Expand All @@ -69,18 +59,16 @@ macro(define_zk_test test)
endmacro()

set(TESTS_NAMES
# FIXME: these targets are disabled because they fail compilation. Either fix them or remove (if not needed)
# "commitment/lpc_performance" TODO try to enable
# "commitment/pedersen"
# "commitment/type_traits"

"commitment/lpc"
"commitment/fri"
"commitment/kzg"
"commitment/fold_polynomial"
"commitment/lpc_performance"
"commitment/pedersen"
"commitment/proof_of_knowledge"
"commitment/powers_of_tau"
"commitment/r1cs_gg_ppzksnark_mpc"
"commitment/type_traits"
"commitment/kimchi_pedersen"

"math/expression"
Expand All @@ -91,28 +79,28 @@ set(TESTS_NAMES
# "relations/numeric/sap"
# "relations/numeric/ssp"

# "systems/plonk/pickles/pickles"
"systems/plonk/pickles/pickles"
"systems/plonk/pickles/kimchi"
# "systems/plonk/pickles/oracles"
"systems/plonk/pickles/oracles"
"systems/plonk/pickles/to_field"
"systems/plonk/pickles/to_group"

"systems/plonk/placeholder/placeholder"
"systems/plonk/placeholder/performance"

# "systems/pcd/r1cs_pcd/r1cs_mp_ppzkpcd/r1cs_mp_ppzkpcd"
# "systems/pcd/r1cs_pcd/r1cs_sp_ppzkpcd/r1cs_sp_ppzkpcd"

# "systems/ppzksnark/bacs_ppzksnark/bacs_ppzksnark"
# "systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark"
# "systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark_marshalling"
# "systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark_tvm_marshalling"
# "systems/ppzksnark/r1cs_ppzksnark/r1cs_ppzksnark"
"systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark"
"systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark_marshalling"
"systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark_tvm_marshalling"
"systems/ppzksnark/r1cs_ppzksnark/r1cs_ppzksnark"
# "systems/ppzksnark/r1cs_se_ppzksnark/r1cs_se_ppzksnark"
# "systems/ppzksnark/ram_ppzksnark/ram_ppzksnark"
# "systems/ppzksnark/tbcs_ppzksnark/tbcs_ppzksnark"
# "systems/ppzksnark/uscs_ppzksnark/uscs_ppzksnark"
# "systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark_aggregation_conformity"
"systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark_aggregation_conformity"

"transcript/transcript"
"transcript/kimchi_transcript"
Expand Down
4 changes: 3 additions & 1 deletion test/systems/plonk/placeholder/performance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ class placeholder_performance_test : public placeholder_performance_test_base {
columns_rotations_type columns_rotations;
};

BOOST_AUTO_TEST_SUITE(placeholder_transpiler_suite)
BOOST_AUTO_TEST_SUITE(placeholder_transpiler_suite, *boost::unit_test::disabled())

BOOST_FIXTURE_TEST_CASE(placeholder_merkle_tree_poseidon_test, placeholder_performance_test<2>) {

Expand Down Expand Up @@ -434,3 +434,5 @@ BOOST_FIXTURE_TEST_CASE(placeholder_large_fibonacci_test, placeholder_performanc
}

BOOST_AUTO_TEST_SUITE_END()


0 comments on commit 0f73002

Please sign in to comment.