Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
02c1026
Updating references for lib submodules
Super-Genius Dec 8, 2023
6ff79f2
Merge tag 'v0.1.14' into develop
henriqueaklein Jan 24, 2024
e5b521d
Merge tag 'v0.1.18' into develop
henriqueaklein Aug 1, 2024
928fdc8
Adding fork to submodules for now
henriqueaklein Aug 1, 2024
70a1785
Fix: Building after changing submodule to our fork
henriqueaklein Aug 1, 2024
ecc590a
Chore: Latest sha of crypto3
henriqueaklein Aug 15, 2024
efcc9cd
WIP: Fixing forked submodules
henriqueaklein Aug 21, 2024
b53aca6
Fix: Building assigned and compiler. Transpiler still not OK
henriqueaklein Sep 4, 2024
c8e9a55
Fix: Hash submodule fixed to build both assigner and transpiler
henriqueaklein Sep 5, 2024
d90498b
Chore: Last SHA of crypto3
henriqueaklein Sep 6, 2024
7c9dc53
Chore: Adding our fork of circifier to zkllvm
henriqueaklein Sep 20, 2024
17bba4e
Fix: Updating circifier
henriqueaklein Sep 20, 2024
f284771
Chore: Pointing to our fork
henriqueaklein Sep 25, 2024
74d6a16
Feat: Adding compilation of stdlib using external circuit function de…
henriqueaklein Sep 25, 2024
2903799
Chore: Changed blueprint to fork
henriqueaklein Sep 30, 2024
52ea18d
Chore: Changing assigner to fork
henriqueaklein Sep 30, 2024
a39c659
Chore: Updating assigner to latest SHA with fix for duplicated symbols
henriqueaklein Sep 30, 2024
375e014
Feat: Assigner now accepts parsing from buffer and not only file
henriqueaklein Oct 3, 2024
a1c9a97
Updated crypto3
EduMenges Oct 8, 2024
9ebe7e1
Chore: Updating crypto3
henriqueaklein Oct 21, 2024
a1fc372
Feat: Install path now configurable
henriqueaklein Oct 25, 2024
f095fb0
Fix: Circifier rolled back to crypto3 before all libs centralized]
henriqueaklein Oct 25, 2024
5364812
Updated crypto3
EduMenges Oct 29, 2024
332c229
Fix: circifier changes to enable build in Android
henriqueaklein Nov 5, 2024
b452f0c
Feat: Adding cmake flags to select which parts of zkllvm to build
henriqueaklein Nov 7, 2024
a5ae9e4
Chore: updating circifier to try and fix CI
henriqueaklein Nov 12, 2024
2bbfc65
Fix: Replaced check run with check compile so it works on cross OSX b…
henriqueaklein Nov 13, 2024
25e86c6
Fix: Circifier had rt removed on apple
henriqueaklein Nov 15, 2024
26c82f0
this allows zkLLVM to be build as a fat binary
Super-Genius Nov 17, 2024
27aae7e
Updating crypto3 library with correct list check and updated to work …
Super-Genius Nov 17, 2024
ef65ae0
Fix: Set crypto3 to working state
henriqueaklein Nov 18, 2024
646363d
Removed duplicated crypto3 headers
EduMenges Nov 18, 2024
05df929
Fix: Setting the default values to build full zkllvm.
henriqueaklein Nov 20, 2024
e8758f7
Fix: Crypto3 install fixed
henriqueaklein Nov 21, 2024
4e423b5
WIP: Fix iOS build
henriqueaklein Nov 21, 2024
f9c338d
Chore: Updated circifier with ios fix
henriqueaklein Nov 21, 2024
3d34f12
Update circifier for iOS
EduMenges Nov 25, 2024
5459fc0
Chore: Updating crypto3 for MSVC fixes
henriqueaklein Jan 10, 2025
11c1774
Fix: crypto3 and circifier on MSVC
henriqueaklein Jan 14, 2025
058714d
Fix: Crypto3 with more fixes to work with MSVC
henriqueaklein Jan 15, 2025
cf3fd3f
Add build subdir from cmake template
itsafuu Jan 21, 2025
73e1485
Cmake items for boost find
itsafuu Jan 21, 2025
06dba33
Explicitly disabled shared libs
itsafuu Jan 21, 2025
7d2c101
This has zkllvm compiling now
itsafuu Jan 21, 2025
e6bc384
Remove workflows from zkllvm
itsafuu Jan 21, 2025
57ad3a9
Remove workflows
itsafuu Jan 21, 2025
93a3ef7
A basic workflow to try
itsafuu Jan 21, 2025
61d2598
Try gh to download artifact
itsafuu Jan 21, 2025
44bc0d7
Change tag to forced develop. Moved above checkout because checkout i…
itsafuu Jan 21, 2025
f19f870
Corrected GH cli
itsafuu Jan 21, 2025
3cfece2
Create thirdparty dir
itsafuu Jan 21, 2025
bcc02f7
Specify develop release tag for now
itsafuu Jan 21, 2025
92281e8
Disable deploy file, doesn't seem to do anything
itsafuu Jan 22, 2025
d03c044
Added additional platforms, added exclusions for src and tmp director…
itsafuu Jan 22, 2025
4392551
Relative path for cmake template
itsafuu Jan 22, 2025
608ef53
Fix: Install of clang headers to zkLLVM/include instead of lib
henriqueaklein Jan 24, 2025
0c077da
Indentation
itsafuu Jan 24, 2025
d69e2fb
Can't be empty?
itsafuu Jan 24, 2025
7cd32e6
Revert
itsafuu Jan 24, 2025
74f585f
CI build adjustments
itsafuu Jan 24, 2025
bae970f
Create directory arm64
itsafuu Jan 24, 2025
926a4c0
ios fixes
itsafuu Jan 27, 2025
26b4607
Android cmake params
itsafuu Jan 27, 2025
d3a1321
Set boost cache args for android specific Boost_COMPILER override
itsafuu Jan 28, 2025
fa6ceff
STD Lib Param for mobile
itsafuu Jan 28, 2025
0ad4ef9
Merge branch 'dev_selfbuild' of github.com:GeniusVentures/zkLLVM into…
itsafuu Jan 28, 2025
c3dacbe
oops
itsafuu Jan 28, 2025
9b66015
NDK version
itsafuu Jan 28, 2025
3548160
Up NDK check in android cmake
itsafuu Jan 28, 2025
29878b2
Clang defaults on android build
itsafuu Jan 28, 2025
393fdea
Thanks chatgpt, that elseif wouldn't work
itsafuu Jan 28, 2025
f79b463
ios specific cmake
itsafuu Jan 29, 2025
136b1f5
Set toolchain file in common cache args
itsafuu Jan 29, 2025
e8dac8d
Update build dir
itsafuu Jan 29, 2025
f321fb0
Android cmake specific
itsafuu Jan 29, 2025
5702198
Fixed string size in MSVC
EduMenges Jan 29, 2025
1f06b10
Filter Applications folder ios
itsafuu Jan 29, 2025
dbb9448
prep for arm7 release
itsafuu Jan 30, 2025
09f6aa4
Fixed MSVC built-in usage
EduMenges Jan 30, 2025
60a8c9f
Fix: Windows/Linux CI hopefully fixed
henriqueaklein Feb 4, 2025
85e0e14
Merge pull request #1 from GeniusVentures/dev_selfbuild
henriqueaklein Feb 4, 2025
5281a0b
Fix: CI build of Linux using strtol instead of __isoc23_strtol
henriqueaklein Feb 5, 2025
c27afd5
MSVC fix attempt
EduMenges Feb 3, 2025
87ec3b4
Fix: Compiling MSVC circifier without custom boost throw that was cau…
henriqueaklein Feb 6, 2025
eae53b6
WIP: Adding Applications folder back on the release, because we need it
henriqueaklein Feb 6, 2025
ed770e1
Refactored CI script
EduMenges Feb 6, 2025
6f89289
Merge pull request #4 from GeniusVentures/ci-refactor
henriqueaklein Feb 7, 2025
e2e9594
Removed hard-coded Windows path in compression
EduMenges Feb 7, 2025
f8db8de
More fixes for MSVC
EduMenges Feb 10, 2025
5b4dcb1
Android arm7 fixes
EduMenges Feb 11, 2025
060b172
Removed SHA information from releases
EduMenges Feb 12, 2025
6761159
Now ubuntu 22 here
itsafuu Feb 15, 2025
dfd8e27
Added filters again for src and tmp because macos release was too lar…
itsafuu Feb 15, 2025
4346804
Maybe yaml fix
itsafuu Feb 15, 2025
aca82fe
Identation
itsafuu Feb 15, 2025
7967d1b
Adjust tar command because it was detecting modifications and failing
itsafuu Feb 15, 2025
0bbdd90
Set working dir for move
itsafuu Feb 15, 2025
3c33b60
Fixated C standard version when compiling
EduMenges Feb 18, 2025
c37fac6
Set to build type instead of forced release
itsafuu Feb 19, 2025
414284a
Fix: In case CMAKE_C_STANDARD is not defined, set it to 17
henriqueaklein Feb 19, 2025
47ab987
Fixed sym links
EduMenges Feb 25, 2025
76357d4
Fixed head for blueprint
EduMenges Mar 7, 2025
c4a26ea
Speed up compile times
EduMenges Mar 7, 2025
c3c8e76
`build` project update
EduMenges Mar 14, 2025
8bab9d5
Fix: iOS and Linux issues on running the wallet
henriqueaklein Mar 31, 2025
a8e0c9c
Added Linux arm64 to CI
EduMenges Apr 21, 2025
1d3e976
Changed release files
EduMenges Jun 4, 2025
168c85c
WIP: Debug release of zkLLVM
henriqueaklein Jun 5, 2025
b8877fd
Revert "WIP: Debug release of zkLLVM"
EduMenges Jun 6, 2025
d13f513
I think this is likely the solution to making windows build
itsafuu Jun 8, 2025
4021181
CMAKE_MSVC_RUNTIME_LIBRARY Does not seem to work properly in the exte…
itsafuu Jun 8, 2025
ac8985d
Feat: Adding tag release build yaml
henriqueaklein Jun 9, 2025
1405320
Fix: Download of thirdparty artifacts
henriqueaklein Jun 9, 2025
c9b5810
Removed `circifier` from debug builds
EduMenges Jun 9, 2025
3f244ec
Also disabled `stdlib` for debug
EduMenges Jun 9, 2025
3ae2783
Revert "Also disabled `stdlib` for debug"
EduMenges Jun 10, 2025
10e3d44
Reapply "WIP: Debug release of zkLLVM"
EduMenges Jun 10, 2025
24de013
Disabled debug builds for OSX and Linux
EduMenges Jun 10, 2025
dadd92f
Fix: Removed iOS debug builds
henriqueaklein Jun 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 208 additions & 0 deletions .github/workflows/build-release-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
name: zkLLVM Tag Build

on:
workflow_dispatch:
inputs:
tag:
description: 'Tag to create releases for'
required: true
type: string

jobs:
build:
env:
GH_TOKEN: ${{ secrets.GNUS_TOKEN_1 }}
runs-on: ${{matrix.host}}
strategy:
fail-fast: false
matrix:
target: [Android, iOS, OSX, Linux, Windows]
build-type: [Release]
abi: [""]
include:
- target: Android
host: ubuntu-22.04
abi: arm64-v8a
build-type: Release
- target: Android
host: ubuntu-22.04
abi: armeabi-v7a
build-type: Release
- target: iOS
host: macos-latest
- target: OSX
host: macos-latest
- target: Linux
host: ubuntu-22.04
abi: x86_64
build-type: Release
- target: Linux
host: ubuntu-24.04-arm
abi: aarch64
build-type: Release
- target: Windows
host: windows-latest
exclude:
- target: Android
abi: ""
- target: Linux
abi: ""
- target: OSX
build-type: Debug
- target: iOS
build-type: Debug
steps:
- name: Configure Linux host
if: ${{ runner.os == 'Linux'}}
run: |
sudo update-alternatives --install /usr/bin/cc cc $(which clang) 100
sudo update-alternatives --install /usr/bin/c++ c++ $(which clang++) 100
sudo update-alternatives --set cc $(which clang)
sudo update-alternatives --set c++ $(which clang++)

sudo apt install ccache ninja-build -y
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV

- name: Configure Windows host
if: ${{ runner.os == 'Windows'}}
run: |
choco install ccache -y

- name: Configure macOS host
if: ${{ runner.os == 'macOS'}}
run: |
brew install ccache ninja bash
PATH="$HOMEBREW_PREFIX/opt/gnu-tar/libexec/gnubin:$PATH"
echo "PATH=$PATH" >> $GITHUB_ENV
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV

- name: Add Android toolchain
if: ${{ matrix.target == 'Android' }}
run: |
NDK_VERSION="r27b"
wget https://dl.google.com/android/repository/android-ndk-$NDK_VERSION-linux.zip -O ndk.zip
unzip ndk.zip -d $HOME

echo "ANDROID_NDK_HOME=$HOME/android-ndk-$NDK_VERSION" >> $GITHUB_ENV

- name: Checkout
uses: actions/checkout@v4
with:
path: zkLLVM
submodules: "recursive"
ref: ${{ github.event.inputs.tag }}

- name: Set build directory
run: |
if [ '${{matrix.abi}}' ]; then
BUILD_DIRECTORY=${{matrix.build-type}}/${{matrix.abi}}
else
BUILD_DIRECTORY=${{matrix.build-type}}
fi

echo "SOURCE_DIRECTORY=build/${{matrix.target}}" >> $GITHUB_ENV
echo "BUILD_DIRECTORY=$BUILD_DIRECTORY" >> $GITHUB_ENV
shell: bash

- name: Download thirdparty release
working-directory: ${{github.workspace}}
run: |
TAG_NAME="${{ github.event.inputs.tag }}"
echo "Building for tag: ${TAG_NAME}"

if [ '${{matrix.abi}}' ]; then
FILE_NAME=${{matrix.target}}-${{matrix.abi}}-${{matrix.build-type}}.tar.gz
else
FILE_NAME=${{matrix.target}}-${{matrix.build-type}}.tar.gz
fi
echo "FILE_NAME=${FILE_NAME}" >> $GITHUB_ENV

mkdir thirdparty
cd thirdparty
pwd

# Download from the tag's release
echo "Downloading thirdparty from tag: ${TAG_NAME}"

gh release download ${TAG_NAME} --repo GeniusVentures/thirdparty -p "${FILE_NAME}"
tar -zxvf "${FILE_NAME}"
shell: bash

- name: Configure CMake for Android
if: ${{ matrix.target == 'Android'}}
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}
run: cmake -B ${{env.BUILD_DIRECTORY}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DCMAKE_C_STANDARD=17 -DTHIRDPARTY_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}} -DTHIRDPARTY_BUILD_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}} -DANDROID_ABI=${{matrix.abi}} -DCMAKE_ANDROID_NDK=${ANDROID_NDK_HOME}

- name: Configure CMake for iOS
if: ${{ matrix.target == 'iOS'}}
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}
run: cmake -B ${{env.BUILD_DIRECTORY}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DCMAKE_C_STANDARD=17 -DTHIRDPARTY_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}} -DTHIRDPARTY_BUILD_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}} -DPLATFORM=OS64

- name: Configure CMake for Mac
if: ${{ matrix.target == 'OSX'}}
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}
run: cmake -B ${{env.BUILD_DIRECTORY}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DCMAKE_C_STANDARD=17 -DTHIRDPARTY_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}} -DTHIRDPARTY_BUILD_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}} -DPLATFORM=MAC_UNIVERSAL

- name: Configure CMake for Linux
if: ${{ matrix.target == 'Linux' }}
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}
run: cmake -B ${{env.BUILD_DIRECTORY}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DCMAKE_C_STANDARD=17 -DTHIRDPARTY_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}} -DTHIRDPARTY_BUILD_DIR=${{github.workspace}}/thirdparty/${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}} -DABI_SUBFOLDER_NAME='/${{matrix.abi}}'

- name: Configure CMake for Windows
if: ${{ matrix.target == 'Windows' }}
working-directory: ${{github.workspace}}\zkLLVM
run: |
cd ${{env.SOURCE_DIRECTORY}}
cmake -B ${{env.BUILD_DIRECTORY}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DCMAKE_C_STANDARD=17 -DTHIRDPARTY_DIR=${{github.workspace}}\thirdparty/${{env.SOURCE_DIRECTORY}} -DTHIRDPARTY_BUILD_DIR=${{github.workspace}}\thirdparty/${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}} -G "Visual Studio 17 2022" -A x64

- name: Build
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}
run: cmake --build ${{env.BUILD_DIRECTORY}} --config ${{matrix.build-type}} -j

- name: Install
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}
run: cmake --install ${{env.BUILD_DIRECTORY}}

- name: Create or check release
working-directory: ${{github.workspace}}/zkLLVM
shell: bash
run: |
TAG_NAME='${{ github.event.inputs.tag }}'
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV

echo "Checking if GitHub release exists for tag: $TAG_NAME"

set +e
gh release view $TAG_NAME
releaseFound=$?
set -e

if [[ $releaseFound -ne 0 ]]; then
echo "Release not found, creating for tag: $TAG_NAME"

# Create a single release for the tag
gh release create $TAG_NAME \
-n "Build artifacts for tag ${TAG_NAME}" \
-t "${TAG_NAME} build artifacts"
else
echo "Release already exists for tag: $TAG_NAME"
fi

- name: Compress build artifacts
working-directory: ${{github.workspace}}/zkLLVM/${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}}
shell: bash
run: |
tar -czvf ${FILE_NAME} \
--exclude='zkLLVM/src' \
--exclude='zkLLVM/tmp' \
--transform 's|^|${{env.SOURCE_DIRECTORY}}/${{env.BUILD_DIRECTORY}}/|S' \
zkLLVM

mv ${FILE_NAME} "${{github.workspace}}/zkLLVM/${FILE_NAME}"

- name: Release file
working-directory: ${{github.workspace}}/zkLLVM
shell: bash
run: |
echo -e "Uploading ${FILE_NAME} to release ${TAG_NAME}"
gh release upload --clobber ${TAG_NAME} ${FILE_NAME}
Loading