mirror of
https://github.com/logos-blockchain/logos-blockchain-circuits.git
synced 2026-04-03 17:33:40 +00:00
Export libraries and headers
This commit is contained in:
parent
ec7d298e5a
commit
e0001bae1f
@ -27,6 +27,10 @@ inputs:
|
||||
arch:
|
||||
description: "The target architecture for the bundle (x86_64, aarch64)."
|
||||
required: true
|
||||
build-lib:
|
||||
description: "Whether to also build a static library (.a) in addition to the executable."
|
||||
required: false
|
||||
default: "false"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
@ -45,7 +49,7 @@ runs:
|
||||
CIRCUIT_FILENAME="$(basename ${CIRCUIT_PATH})"
|
||||
CIRCUIT_FILESTEM="${CIRCUIT_FILENAME%.circom}"
|
||||
CIRCUIT_CPP_DIRNAME="${CIRCUIT_FILESTEM}_cpp"
|
||||
|
||||
|
||||
compiled_binary_name="${CIRCUIT_FILESTEM}"
|
||||
if [ "${OS}" = "windows" ]; then
|
||||
compiled_binary_name="${compiled_binary_name}.exe"
|
||||
@ -105,6 +109,24 @@ runs:
|
||||
OS: ${{ inputs.os }}
|
||||
run: make PROJECT="${CIRCUIT_FILESTEM}" "${OS}"
|
||||
|
||||
- name: Build ${{ inputs.circuit-name-display }} Static Library
|
||||
if: ${{ inputs.build-lib == 'true' && inputs.os != 'windows' }}
|
||||
shell: bash
|
||||
working-directory: ${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}
|
||||
env:
|
||||
CIRCUIT_FILESTEM: ${{ steps.parse-circuit-path.outputs.CIRCUIT_FILESTEM }}
|
||||
OS: ${{ inputs.os }}
|
||||
run: make PROJECT="${CIRCUIT_FILESTEM}" "${OS}-lib"
|
||||
|
||||
- name: Build ${{ inputs.circuit-name-display }} Static Library
|
||||
if: ${{ inputs.build-lib == 'true' && inputs.os == 'windows' }}
|
||||
shell: msys2 {0}
|
||||
working-directory: ${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}
|
||||
env:
|
||||
CIRCUIT_FILESTEM: ${{ steps.parse-circuit-path.outputs.CIRCUIT_FILESTEM }}
|
||||
OS: ${{ inputs.os }}
|
||||
run: make PROJECT="${CIRCUIT_FILESTEM}" "${OS}-lib"
|
||||
|
||||
- name: Upload ${{ inputs.circuit-name-display }}
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
@ -112,3 +134,14 @@ runs:
|
||||
path: |
|
||||
${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}/${{ steps.parse-circuit-path.outputs.COMPILED_BINARY_NAME }}
|
||||
${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}/${{ steps.parse-circuit-path.outputs.CIRCUIT_FILESTEM }}.dat
|
||||
|
||||
- name: Upload ${{ inputs.circuit-name-display }} Static Library
|
||||
if: ${{ inputs.build-lib == 'true' }}
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: ${{ inputs.circuit-name-binary }}-lib-${{ inputs.version }}-${{ inputs.os }}-${{ inputs.arch }}
|
||||
path: |
|
||||
${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}/lib${{ steps.parse-circuit-path.outputs.CIRCUIT_FILESTEM }}.a
|
||||
${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}/circom.hpp
|
||||
${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}/calcwit.hpp
|
||||
${{ steps.parse-circuit-path.outputs.CIRCUIT_CPP_PATH }}/fr.hpp
|
||||
|
||||
68
.github/resources/prover/Makefile
vendored
68
.github/resources/prover/Makefile
vendored
@ -44,6 +44,17 @@ host_windows_x86_64_static:
|
||||
-DCMAKE_CXX_FLAGS="-I/include -include mman_patch.hpp -include cstdint -Duint=unsigned\ int -Du_int32_t=uint32_t -Du_int64_t=uint64_t" && \
|
||||
make -j$(nproc) -vvv && make install
|
||||
|
||||
host_windows_x86_64_static_lib:
|
||||
rm -rf build_lib_windows && mkdir build_lib_windows && cd build_lib_windows && \
|
||||
cmake .. \
|
||||
-DUSE_ASM=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../package_lib_windows \
|
||||
-DCMAKE_CXX_FLAGS="-I/include -include mman_patch.hpp -include cstdint -Duint=unsigned\ int -Du_int32_t=uint32_t -Du_int64_t=uint64_t" \
|
||||
-DBUILD_TESTS=OFF && \
|
||||
make -j$(nproc) rapidsnarkStatic rapidsnarkStaticFrFq fr fq && \
|
||||
make install
|
||||
|
||||
host_noasm:
|
||||
rm -rf build_prover_noasm && mkdir build_prover_noasm && cd build_prover_noasm && \
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../package_noasm -DUSE_ASM=NO && \
|
||||
@ -98,12 +109,61 @@ macos_arm64:
|
||||
cmake .. -DTARGET_PLATFORM=macos_arm64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../package_macos_arm64 && \
|
||||
make -j$(nproc) -vvv && make install
|
||||
|
||||
macos_arm64_lib:
|
||||
@if [ ! -d "./depends/gmp/package_macos_arm64" ]; then echo "Looks like gmp lib is not built. Run './build_gmp.sh macos_arm64' first." && exit 1; fi
|
||||
rm -rf build_lib_macos_arm64 && mkdir build_lib_macos_arm64 && cd build_lib_macos_arm64 && \
|
||||
cmake .. \
|
||||
-DTARGET_PLATFORM=macos_arm64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../package_lib_macos_arm64 \
|
||||
-DBUILD_TESTS=OFF \
|
||||
-DUSE_OPENMP=OFF && \
|
||||
make -j$(nproc) rapidsnarkStatic rapidsnarkStaticFrFq fr fq && \
|
||||
make install
|
||||
|
||||
host_linux_x86_64_static_lib:
|
||||
rm -rf build_lib && mkdir build_lib && cd build_lib && \
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../package_lib \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \
|
||||
-DOpenMP_gomp_LIBRARY=$(LIBGOMP_A) \
|
||||
-DCMAKE_PREFIX_PATH=depends/gmp/package \
|
||||
-DBUILD_TESTS=OFF && \
|
||||
make -j$(nproc) rapidsnarkStatic rapidsnarkStaticFrFq fr fq && \
|
||||
make install
|
||||
|
||||
host_linux_aarch64_static_lib:
|
||||
rm -rf build_lib && mkdir build_lib && cd build_lib && \
|
||||
cmake .. \
|
||||
-DTARGET_PLATFORM=aarch64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../package_lib \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \
|
||||
-DOpenMP_gomp_LIBRARY=$(LIBGOMP_A) \
|
||||
-DCMAKE_PREFIX_PATH=depends/gmp/package \
|
||||
-DBUILD_TESTS=OFF && \
|
||||
make -j$(nproc) rapidsnarkStatic rapidsnarkStaticFrFq fr fq && \
|
||||
make install
|
||||
|
||||
macos_x86_64:
|
||||
@if [ ! -d "./depends/gmp/package_macos_x86_64" ]; then echo "Looks like gmp lib is not built. Run './build_gmp.sh macos_x86_64' first." && exit 1; fi
|
||||
rm -rf build_prover_macos_x86_64 && mkdir build_prover_macos_x86_64 && cd build_prover_macos_x86_64 && \
|
||||
cmake .. -DTARGET_PLATFORM=macos_x86_64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../package_macos_x86_64 && \
|
||||
make -j$(nproc) -vvv && make install
|
||||
|
||||
macos_x86_64_lib:
|
||||
@if [ ! -d "./depends/gmp/package_macos_x86_64" ]; then echo "Looks like gmp lib is not built. Run './build_gmp.sh macos_x86_64' first." && exit 1; fi
|
||||
rm -rf build_lib_macos_x86_64 && mkdir build_lib_macos_x86_64 && cd build_lib_macos_x86_64 && \
|
||||
cmake .. \
|
||||
-DTARGET_PLATFORM=macos_x86_64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../package_lib_macos_x86_64 \
|
||||
-DBUILD_TESTS=OFF \
|
||||
-DUSE_OPENMP=OFF && \
|
||||
make -j$(nproc) rapidsnarkStatic rapidsnarkStaticFrFq fr fq && \
|
||||
make install
|
||||
|
||||
clean:
|
||||
rm -rf build_prover \
|
||||
build_prover_macos_arm64 \
|
||||
@ -112,6 +172,10 @@ clean:
|
||||
build_prover_android_x86_64 \
|
||||
build_prover_ios \
|
||||
build_prover_ios_simulator \
|
||||
build_lib \
|
||||
build_lib_macos_arm64 \
|
||||
build_lib_macos_x86_64 \
|
||||
build_lib_windows \
|
||||
package \
|
||||
package_macos_arm64 \
|
||||
package_macos_x86_64 \
|
||||
@ -119,6 +183,10 @@ clean:
|
||||
package_android_x86_64 \
|
||||
package_ios \
|
||||
package_ios_simulator \
|
||||
package_lib \
|
||||
package_lib_macos_arm64 \
|
||||
package_lib_macos_x86_64 \
|
||||
package_lib_windows \
|
||||
depends/gmp/package \
|
||||
depends/gmp/package_macos_arm64 \
|
||||
depends/gmp/package_macos_x86_64 \
|
||||
|
||||
23
.github/resources/witness-generator/Makefile
vendored
23
.github/resources/witness-generator/Makefile
vendored
@ -1,4 +1,4 @@
|
||||
.PHONY: linux macos windows build clean
|
||||
.PHONY: linux macos windows linux-lib macos-lib windows-lib build clean
|
||||
|
||||
# ---- Arguments ----
|
||||
ifndef PROJECT
|
||||
@ -7,11 +7,15 @@ endif
|
||||
|
||||
# ---- Common ----
|
||||
CXX := g++
|
||||
AR := ar
|
||||
CXXFLAGS_COMMON := -std=c++11 -O3 -I. -Wno-address-of-packed-member
|
||||
SRCS := main.cpp calcwit.cpp fr.cpp $(PROJECT).cpp
|
||||
LIB_SRCS := calcwit.cpp fr.cpp $(PROJECT).cpp
|
||||
OBJS := $(SRCS:.cpp=.o)
|
||||
LIB_OBJS := $(LIB_SRCS:.cpp=.o)
|
||||
DEPS_HPP := circom.hpp calcwit.hpp fr.hpp
|
||||
BIN := $(PROJECT)
|
||||
LIB := lib$(PROJECT).a
|
||||
|
||||
# ---- Linux (x86_64 and aarch64) ----
|
||||
linux: CXXFLAGS=$(CXXFLAGS_COMMON)
|
||||
@ -31,13 +35,28 @@ windows: LDFLAGS=-static
|
||||
windows: LDLIBS=-L/lib -lgmp -lmman
|
||||
windows: $(BIN)
|
||||
|
||||
# ---- Linux static library ----
|
||||
linux-lib: CXXFLAGS=$(CXXFLAGS_COMMON) -fPIC
|
||||
linux-lib: $(LIB)
|
||||
|
||||
# ---- macOS static library ----
|
||||
macos-lib: CXXFLAGS=$(CXXFLAGS_COMMON) -I/opt/homebrew/include -include gmp_patch.hpp -fPIC
|
||||
macos-lib: $(LIB)
|
||||
|
||||
# ---- Windows static library (MinGW) ----
|
||||
windows-lib: CXXFLAGS=$(CXXFLAGS_COMMON) -I/include -Duint="unsigned int" -fPIC
|
||||
windows-lib: $(LIB)
|
||||
|
||||
# ---- Rules ----
|
||||
$(BIN): $(OBJS)
|
||||
$(CXX) $(LDFLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
$(LIB): $(LIB_OBJS)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
%.o: %.cpp $(DEPS_HPP)
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) $(BIN)
|
||||
rm -f $(OBJS) $(LIB_OBJS) $(BIN) $(LIB)
|
||||
|
||||
|
||||
289
.github/workflows/build-circuits.yml
vendored
289
.github/workflows/build-circuits.yml
vendored
@ -204,6 +204,10 @@ jobs:
|
||||
./build_gmp.sh host
|
||||
make host_linux_x86_64_static
|
||||
|
||||
- name: Build Rapidsnark Static Libraries
|
||||
working-directory: rapidsnark
|
||||
run: make host_linux_x86_64_static_lib
|
||||
|
||||
- name: Bundle Rapidsnark Prover
|
||||
env:
|
||||
BINARY_NAME: prover
|
||||
@ -251,6 +255,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoQ Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -261,6 +266,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile ZKSign Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -271,6 +277,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoC Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -281,6 +288,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Download PoL Witness Generator
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
@ -306,6 +314,30 @@ jobs:
|
||||
name: poc-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generators/poc-artifact
|
||||
|
||||
- name: Download PoL Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: pol-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/pol-lib
|
||||
|
||||
- name: Download PoQ Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poq-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poq-lib
|
||||
|
||||
- name: Download ZKSign Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: zksign-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/zksign-lib
|
||||
|
||||
- name: Download PoC Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poc-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poc-lib
|
||||
|
||||
- name: Download All Proving Key Artifacts
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
@ -377,6 +409,45 @@ jobs:
|
||||
name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Create Dev Library Bundle
|
||||
env:
|
||||
LIB_BUNDLE_NAME: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_LIB_DIR: rapidsnark/package_lib/lib
|
||||
RAPIDSNARK_INC_DIR: rapidsnark/package_lib/include
|
||||
run: |
|
||||
mkdir -p "${LIB_BUNDLE_NAME}/lib" "${LIB_BUNDLE_NAME}/include/rapidsnark" "${LIB_BUNDLE_NAME}/include/witness"
|
||||
|
||||
# RapidSnark static libraries
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark-fr-fq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfr.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libgmp.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
# RapidSnark headers
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.h "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.hpp "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
|
||||
# Witness generator static libraries
|
||||
cp witness-generator-libs/pol-lib/libpol.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poq-lib/libpoq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/zksign-lib/libsignature.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poc-lib/libpoc.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
# Witness generator headers (shared across circuits — take from pol-lib)
|
||||
cp witness-generator-libs/pol-lib/circom.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/calcwit.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/fr.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
|
||||
echo "${{ env.VERSION }}" > "${LIB_BUNDLE_NAME}/VERSION"
|
||||
tar -czf "${LIB_BUNDLE_NAME}.tar.gz" "${LIB_BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Dev Library Bundle
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
build-linux-aarch64:
|
||||
name: Build Linux aarch64 Binaries (Native for RPI5)
|
||||
runs-on: ubuntu-22.04-arm
|
||||
@ -444,6 +515,10 @@ jobs:
|
||||
ln -s package depends/gmp/package_aarch64
|
||||
make host_linux_aarch64_static
|
||||
|
||||
- name: Build Rapidsnark Static Libraries
|
||||
working-directory: rapidsnark
|
||||
run: make host_linux_aarch64_static_lib
|
||||
|
||||
- name: Bundle Rapidsnark Prover
|
||||
env:
|
||||
BINARY_NAME: prover
|
||||
@ -491,6 +566,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoQ Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -501,6 +577,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile ZKSign Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -511,6 +588,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoC Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -521,6 +599,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Download PoL Witness Generator
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
@ -546,6 +625,30 @@ jobs:
|
||||
name: poc-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generators/poc-artifact
|
||||
|
||||
- name: Download PoL Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: pol-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/pol-lib
|
||||
|
||||
- name: Download PoQ Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poq-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poq-lib
|
||||
|
||||
- name: Download ZKSign Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: zksign-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/zksign-lib
|
||||
|
||||
- name: Download PoC Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poc-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poc-lib
|
||||
|
||||
- name: Download All Proving Key Artifacts
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
@ -617,6 +720,41 @@ jobs:
|
||||
name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Create Dev Library Bundle
|
||||
env:
|
||||
LIB_BUNDLE_NAME: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_LIB_DIR: rapidsnark/package_lib/lib
|
||||
RAPIDSNARK_INC_DIR: rapidsnark/package_lib/include
|
||||
run: |
|
||||
mkdir -p "${LIB_BUNDLE_NAME}/lib" "${LIB_BUNDLE_NAME}/include/rapidsnark" "${LIB_BUNDLE_NAME}/include/witness"
|
||||
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark-fr-fq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfr.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libgmp.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.h "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.hpp "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
|
||||
cp witness-generator-libs/pol-lib/libpol.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poq-lib/libpoq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/zksign-lib/libsignature.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poc-lib/libpoc.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
cp witness-generator-libs/pol-lib/circom.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/calcwit.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/fr.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
|
||||
echo "${{ env.VERSION }}" > "${LIB_BUNDLE_NAME}/VERSION"
|
||||
tar -czf "${LIB_BUNDLE_NAME}.tar.gz" "${LIB_BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Dev Library Bundle
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
build-windows:
|
||||
name: Build Windows Binaries (Native)
|
||||
runs-on: windows-latest
|
||||
@ -720,6 +858,11 @@ jobs:
|
||||
./build_gmp.sh host
|
||||
make host_windows_x86_64_static
|
||||
|
||||
- name: Build Rapidsnark Static Libraries
|
||||
shell: msys2 {0}
|
||||
working-directory: rapidsnark
|
||||
run: make host_windows_x86_64_static_lib
|
||||
|
||||
- name: Bundle Rapidsnark Prover
|
||||
shell: msys2 {0}
|
||||
env:
|
||||
@ -769,6 +912,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoQ Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -779,6 +923,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile ZKSign Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -789,6 +934,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoC Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -799,6 +945,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Download PoL Witness Generator
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
@ -824,6 +971,30 @@ jobs:
|
||||
name: poc-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generators/poc-artifact
|
||||
|
||||
- name: Download PoL Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: pol-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/pol-lib
|
||||
|
||||
- name: Download PoQ Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poq-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poq-lib
|
||||
|
||||
- name: Download ZKSign Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: zksign-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/zksign-lib
|
||||
|
||||
- name: Download PoC Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poc-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poc-lib
|
||||
|
||||
- name: Download All Proving Key Artifacts
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
@ -888,6 +1059,42 @@ jobs:
|
||||
name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Create Dev Library Bundle
|
||||
shell: msys2 {0}
|
||||
env:
|
||||
LIB_BUNDLE_NAME: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_LIB_DIR: rapidsnark/package_lib_windows/lib
|
||||
RAPIDSNARK_INC_DIR: rapidsnark/package_lib_windows/include
|
||||
run: |
|
||||
mkdir -p "${LIB_BUNDLE_NAME}/lib" "${LIB_BUNDLE_NAME}/include/rapidsnark" "${LIB_BUNDLE_NAME}/include/witness"
|
||||
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark-fr-fq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfr.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libgmp.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.h "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.hpp "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
|
||||
cp witness-generator-libs/pol-lib/libpol.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poq-lib/libpoq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/zksign-lib/libsignature.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poc-lib/libpoc.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
cp witness-generator-libs/pol-lib/circom.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/calcwit.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/fr.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
|
||||
echo "${{ env.VERSION }}" > "${LIB_BUNDLE_NAME}/VERSION"
|
||||
tar -czf "${LIB_BUNDLE_NAME}.tar.gz" "${LIB_BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Dev Library Bundle
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
build-macos:
|
||||
name: Build MacOS Binaries (Native)
|
||||
runs-on: macos-latest
|
||||
@ -949,6 +1156,10 @@ jobs:
|
||||
./build_gmp.sh macos_arm64
|
||||
make macos_arm64
|
||||
|
||||
- name: Build Rapidsnark Static Libraries
|
||||
working-directory: rapidsnark
|
||||
run: make macos_arm64_lib
|
||||
|
||||
- name: Bundle Rapidsnark Prover
|
||||
env:
|
||||
BINARY_NAME: prover
|
||||
@ -996,6 +1207,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoQ Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -1006,6 +1218,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile ZKSign Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -1016,6 +1229,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Compile PoC Witness Generator
|
||||
uses: ./.github/actions/compile-witness-generator
|
||||
@ -1026,6 +1240,7 @@ jobs:
|
||||
version: ${{ env.VERSION }}
|
||||
os: ${{ env.OS }}
|
||||
arch: ${{ env.ARCH }}
|
||||
build-lib: "true"
|
||||
|
||||
- name: Download PoL Witness Generator
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
@ -1051,6 +1266,30 @@ jobs:
|
||||
name: poc-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generators/poc-artifact
|
||||
|
||||
- name: Download PoL Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: pol-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/pol-lib
|
||||
|
||||
- name: Download PoQ Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poq-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poq-lib
|
||||
|
||||
- name: Download ZKSign Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: zksign-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/zksign-lib
|
||||
|
||||
- name: Download PoC Library Artifact
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: poc-lib-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
path: witness-generator-libs/poc-lib
|
||||
|
||||
- name: Download All Proving Key Artifacts
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
@ -1122,6 +1361,41 @@ jobs:
|
||||
name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
- name: Create Dev Library Bundle
|
||||
env:
|
||||
LIB_BUNDLE_NAME: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}
|
||||
RAPIDSNARK_LIB_DIR: rapidsnark/package_lib_macos_arm64/lib
|
||||
RAPIDSNARK_INC_DIR: rapidsnark/package_lib_macos_arm64/include
|
||||
run: |
|
||||
mkdir -p "${LIB_BUNDLE_NAME}/lib" "${LIB_BUNDLE_NAME}/include/rapidsnark" "${LIB_BUNDLE_NAME}/include/witness"
|
||||
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/librapidsnark-fr-fq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfr.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libfq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp "${RAPIDSNARK_LIB_DIR}"/libgmp.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.h "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
cp "${RAPIDSNARK_INC_DIR}"/rapidsnark/*.hpp "${LIB_BUNDLE_NAME}/include/rapidsnark/"
|
||||
|
||||
cp witness-generator-libs/pol-lib/libpol.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poq-lib/libpoq.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/zksign-lib/libsignature.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
cp witness-generator-libs/poc-lib/libpoc.a "${LIB_BUNDLE_NAME}/lib/"
|
||||
|
||||
cp witness-generator-libs/pol-lib/circom.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/calcwit.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
cp witness-generator-libs/pol-lib/fr.hpp "${LIB_BUNDLE_NAME}/include/witness/"
|
||||
|
||||
echo "${{ env.VERSION }}" > "${LIB_BUNDLE_NAME}/VERSION"
|
||||
tar -czf "${LIB_BUNDLE_NAME}.tar.gz" "${LIB_BUNDLE_NAME}"
|
||||
|
||||
- name: Upload Dev Library Bundle
|
||||
uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8
|
||||
with:
|
||||
name: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
path: logos-blockchain-circuits-dev-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
publish-release:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
@ -1188,6 +1462,7 @@ jobs:
|
||||
env:
|
||||
UPLOAD_URL: ${{ needs.publish-release.outputs.upload_url }}
|
||||
ARTIFACT_NAME: logos-blockchain-circuits-${{ needs.setup.outputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz
|
||||
DEV_ARTIFACT_NAME: logos-blockchain-circuits-dev-${{ needs.setup.outputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz
|
||||
steps:
|
||||
- name: Download Unified Bundle
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
@ -1202,4 +1477,18 @@ jobs:
|
||||
upload_url: ${{ env.UPLOAD_URL }}
|
||||
asset_path: ${{ env.ARTIFACT_NAME }}
|
||||
asset_name: ${{ env.ARTIFACT_NAME }}
|
||||
|
||||
- name: Download Dev Library Bundle
|
||||
uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b
|
||||
with:
|
||||
name: ${{ env.DEV_ARTIFACT_NAME }}
|
||||
|
||||
- name: Upload Dev Library Bundle to Release
|
||||
uses: actions/upload-release-asset@ef2adfe8cb8ebfa540930c452c576b3819990faa
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ env.UPLOAD_URL }}
|
||||
asset_path: ${{ env.DEV_ARTIFACT_NAME }}
|
||||
asset_name: ${{ env.DEV_ARTIFACT_NAME }}
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user