From c5d0e5d3236732c16b2b47534d1ec7c31609cf30 Mon Sep 17 00:00:00 2001 From: Vishalkulkarni45 <109329073+Vishalkulkarni45@users.noreply.github.com> Date: Wed, 8 Oct 2025 21:03:17 +0530 Subject: [PATCH] Custom build circuit (#1242) * feat: add serbia dsc to build * feat: add run-id to download artifacts * fix: circom dep import path --- .github/workflows/circuits-build.yml | 12 +++++++++--- circuits/scripts/build/build_cpp.sh | 7 ++++--- circuits/scripts/build/build_r1cs_wasm.sh | 1 + circuits/scripts/build/build_single_circuit.sh | 7 ++++--- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/circuits-build.yml b/.github/workflows/circuits-build.yml index c51733935..45db8fb61 100644 --- a/.github/workflows/circuits-build.yml +++ b/.github/workflows/circuits-build.yml @@ -20,6 +20,11 @@ on: required: false type: string default: '' + run-id: + description: 'Run ID to download artifacts .' + required: false + type: string + default: '' concurrency: group: circuits-build-${{ github.workflow }}-${{ github.ref }} @@ -30,6 +35,7 @@ jobs: runs-on: ["128ram"] permissions: contents: read + actions: read env: CIRCOM_VERSION: "2.1.9" CIRCOM_SHA256: "e5575829252d763b7818049df9de2ef9304df834697de77fa63ce7babc23c967" @@ -151,12 +157,12 @@ jobs: run: circom --version - name: Download previous artifacts - if: github.event_name == 'workflow_dispatch' && (inputs.circuit-type != '' || inputs.circuit-name != '') - uses: actions/download-artifact@v4 + if: github.event_name == 'workflow_dispatch' && inputs.run-id != '' + uses: dawidd6/action-download-artifact@v6 with: name: circuits path: output/ - continue-on-error: true + run_id: ${{ inputs.run-id }} - name: Build cpp circuits run: | diff --git a/circuits/scripts/build/build_cpp.sh b/circuits/scripts/build/build_cpp.sh index 9e8cb99d4..cacf583be 100755 --- a/circuits/scripts/build/build_cpp.sh +++ b/circuits/scripts/build/build_cpp.sh @@ -105,6 +105,7 @@ DSC_CIRCUITS=( "dsc_sha512_ecdsa_secp521r1:true" "dsc_sha512_rsa_65537_4096:true" "dsc_sha512_rsapss_65537_64_4096:true" + "dsc_sha384_rsapss_65537_48_3072:true" ) if [[ $1 == "register" ]]; then @@ -163,9 +164,9 @@ for item in "${allowed_circuits[@]}"; do circuit_name="${filename%.*}" ( circom $filepath \ - -l "node_modules" \ - -l "node_modules/@zk-kit/binary-merkle-root.circom/src" \ - -l "node_modules/circomlib/circuits" \ + -l "circuits/node_modules" \ + -l "circuits/node_modules/@zk-kit/binary-merkle-root.circom/src" \ + -l "circuits/node_modules/circomlib/circuits" \ --O1 -c --output $output && \ cd $output/${circuit_name}_cpp && \ make diff --git a/circuits/scripts/build/build_r1cs_wasm.sh b/circuits/scripts/build/build_r1cs_wasm.sh index b0c42ce79..1b970e873 100755 --- a/circuits/scripts/build/build_r1cs_wasm.sh +++ b/circuits/scripts/build/build_r1cs_wasm.sh @@ -92,6 +92,7 @@ DSC_CIRCUITS=( "dsc_sha512_ecdsa_secp521r1:true" "dsc_sha512_rsa_65537_4096:true" "dsc_sha512_rsapss_65537_64_4096:true" + "dsc_sha384_rsapss_65537_48_3072:true" ) if [[ $1 == "register" ]]; then diff --git a/circuits/scripts/build/build_single_circuit.sh b/circuits/scripts/build/build_single_circuit.sh index 73c3103d4..85f0a697e 100755 --- a/circuits/scripts/build/build_single_circuit.sh +++ b/circuits/scripts/build/build_single_circuit.sh @@ -141,6 +141,7 @@ DSC_CIRCUITS=( "dsc_sha512_ecdsa_secp521r1" "dsc_sha512_rsa_65537_4096" "dsc_sha512_rsapss_65537_64_4096" + "dsc_sha384_rsapss_65537_48_3072" ) # Extract circuit type @@ -226,9 +227,9 @@ fi # Compile circuit and C++ code circom "$filepath" \ - -l "node_modules" \ - -l "node_modules/@zk-kit/binary-merkle-root.circom/src" \ - -l "node_modules/circomlib/circuits" \ + -l "circuits/node_modules" \ + -l "circuits/node_modules/@zk-kit/binary-merkle-root.circom/src" \ + -l "circuits/node_modules/circomlib/circuits" \ --O1 -c --output "$output" && \ cd "$output/${CIRCUIT_NAME}_cpp" && \ make