Skip to content

Commit

Permalink
resolve conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
saitima committed Sep 11, 2024
2 parents d473769 + a099924 commit f92e33e
Show file tree
Hide file tree
Showing 23 changed files with 507 additions and 176 deletions.
12 changes: 12 additions & 0 deletions .github/release-please/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"bootstrap-sha": "d4f2f8c706c93c0cc829ddc2abee1d0627c59593",
"include-component-in-tag": false,
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": true,
"packages": {
".": {
"component": "zksync-crypto-gpu",
"release-type": "simple"
}
}
}
3 changes: 3 additions & 0 deletions .github/release-please/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.150.7"
}
69 changes: 69 additions & 0 deletions .github/workflows/release-please-prepare-branch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
on:
push:
branches:
- release-please--branches--main--components--zksync-crypto-gpu

env:
EXPECTED_COMMIT_MESSAGE: "Update version in Cargo.toml"
CARGO_TERM_COLOR: "always"
CARGO_INCREMENTAL: "0"
# Rust version to use.
nightly: nightly-2024-08-01

name: release-please-update-versions
jobs:
check_state:
name: "release-please: Check if Cargo.toml is updated"
runs-on: [ubuntu-latest]
outputs:
already_committed: ${{ steps.condition.outputs.already_committed }}

steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4

- name: Check last commit
id: condition
run: |
COMMIT=$(git log -1 --pretty=%B)
if [[ "$COMMIT" == "$EXPECTED_COMMIT_MESSAGE" ]]; then
echo "Cargo.lock is already updated"
echo "already_committed=true" >> "$GITHUB_OUTPUT"
else
echo "Cargo.lock should be updated"
echo "already_committed=false" >> "$GITHUB_OUTPUT"
fi
update_version:
runs-on: [ubuntu-latest]
name: "release-please: Update version in Cargo.toml"
needs: [check_state]
if: ${{ needs.check_state.outputs.already_committed != 'true' }}
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
with:
persist-credentials: false

- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.nightly }}
# Remove default `-D warnings`. This is a temporary measure.
rustflags: ""

# cargo-workspaces fails to update versions in this repository for some reason.
- name: Install cargo-edit
run: cargo install cargo-edit

- name: Bump version
run: |
NEW_VERSION=$(cat .github/release-please/manifest.json | jq -r '."."')
cargo-set-version set-version $NEW_VERSION --workspace
- name: Push changes
run: |
git config --global user.email "[email protected]"
git config --global user.name "zksync-era-bot"
git remote set-url origin 'https://${{ secrets.RELEASE_TOKEN }}@github.com/matter-labs/zksync-crypto-gpu.git'
git add ./Cargo.toml
git commit -m "$EXPECTED_COMMIT_MESSAGE"
git push
121 changes: 121 additions & 0 deletions .github/workflows/release-please.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
on:
push:
branches:
- main
workflow_dispatch:

env:
CARGO_TERM_COLOR: "always"
CARGO_INCREMENTAL: "0"
RUSTC_WRAPPER: "sccache"
SCCACHE_GHA_ENABLED: "true"
# Rust version to use.
nightly: nightly-2024-08-01

permissions:
contents: write
pull-requests: write

name: release-please
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
releases_created: ${{ steps.release.outputs.releases_created }}
release_please_output_json: ${{ toJSON(steps.release.outputs) }}
steps:
- name: Run release-please
id: release
uses: googleapis/release-please-action@7987652d64b4581673a76e33ad5e98e3dd56832f # v4.1.3
with:
token: ${{ secrets.RELEASE_TOKEN }}
config-file: .github/release-please/config.json
manifest-file: .github/release-please/manifest.json

- name: Show outputs
env:
OUTPUTS: ${{ toJSON(steps.release.outputs) }}
run: echo "$OUTPUTS"

process-release:
runs-on: [ubuntu-22.04-github-hosted-32core]
container:
image: nvidia/cuda:12.5.0-devel-ubuntu20.04
env:
BELLMAN_CUDA_DIR: ${{ github.workspace }}/bellman-cuda
CUDAARCHS: 89
needs: [release-please]
if: ${{ needs.release-please.outputs.releases_created == 'true' }}
steps:
- name: Prepare environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
apt update && apt install -y \
pkg-config libclang-dev build-essential lldb lld \
clang openssl libssl-dev gcc g++ wget curl jq
echo "/usr/local/nvidia/bin:/usr/local/cuda/bin" >> $GITHUB_PATH
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4

- name: Setup CMake
run: |
curl -LO https://github.com/Kitware/CMake/releases/download/v3.24.3/cmake-3.24.3-linux-x86_64.sh && \
chmod +x cmake-3.24.3-linux-x86_64.sh && \
./cmake-3.24.3-linux-x86_64.sh --skip-license --prefix=/usr/local
- name: Prepare bellman-cuda directory
shell: bash
# Curl ugliness is required because gh can't work with authentication: https://github.com/cli/cli/issues/2680.
run: |
release=($(curl --silent https://api.github.com/repos/matter-labs/era-bellman-cuda/releases | jq -r '.[0] | .name, .tarball_url, .assets[0].browser_download_url'))
curl --silent -L "${release[1]}" --output bellman-cuda-source.tar.gz
curl --silent -L "${release[2]}" --output bellman-cuda.tar.gz
mkdir -p bellman-cuda
tar xvfz bellman-cuda.tar.gz -C ./bellman-cuda
tar xvfz bellman-cuda-source.tar.gz -C ./bellman-cuda --strip-components=1 --wildcards \*/src/
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.nightly }}
# Remove default `-D warnings`. This is a temporary measure.
rustflags: ""

- name: Install sccache
uses: mozilla-actions/[email protected]

- name: Install cargo-workspaces
run: cargo install cargo-workspaces

- name: Build each package separately
run: cargo ws exec cargo build

- name: Login to crates.io
run: cargo login ${{ secrets.CRATES_IO_TOKEN }}

- name: Publish
run: cargo ws publish --publish-as-is --allow-dirty

- name: Set owners for new packages
# `cargo owner --add` fails if the package is already owned by the same entity,
# so we have to check if the package is already owned by the organization.
run: |
ORG_OWNER=github:matter-labs:crates-io
for PKG in $(cargo ws list); do
cargo owner --list --quiet $PKG | grep $ORG_OWNER || cargo owner --add $ORG_OWNER $PKG
done
- name: Send Release Info
uses: matter-labs/format-release-please-for-slack-action@69e6fe9e4ec531b7b5fb0d826f73c190db83cf42 # v2.1.0
with:
release-please-output: ${{ needs.release-please.outputs.release_please_output_json }}
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_RELEASES }}

- name: Notify about failure
if: failure()
uses: matter-labs/format-release-please-for-slack-action@69e6fe9e4ec531b7b5fb0d826f73c190db83cf42 # v2.1.0
with:
release-please-output: '{ "body": "⚠️ Failed to publish the release" }'
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_RELEASES }}
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Changelog

## [0.150.7](https://github.com/matter-labs/zksync-crypto-gpu/compare/v0.150.6...v0.150.7) (2024-09-06)


### Features

* Bump protocol and crypto deps ([#23](https://github.com/matter-labs/zksync-crypto-gpu/issues/23)) ([e15fdd2](https://github.com/matter-labs/zksync-crypto-gpu/commit/e15fdd2720827e45cfb895debc078c6514b9cbaa))

## [0.150.6](https://github.com/matter-labs/zksync-crypto-gpu/compare/v0.150.5...v0.150.6) (2024-09-04)


### Bug Fixes

* **shivini:** pub use ProverContextConfig ([#20](https://github.com/matter-labs/zksync-crypto-gpu/issues/20)) ([fb3c8e7](https://github.com/matter-labs/zksync-crypto-gpu/commit/fb3c8e7f36998fe3ab37a67dc808d7b4624e87a4))

## [0.150.5](https://github.com/matter-labs/zksync-crypto-gpu/compare/v0.150.4...v0.150.5) (2024-09-04)


### Features

* **ci:** Introduce CI for automatic releases ([#11](https://github.com/matter-labs/zksync-crypto-gpu/issues/11)) ([847059a](https://github.com/matter-labs/zksync-crypto-gpu/commit/847059a4222b44de109eec4856d2ea70fd9ab8d3))
* implement ProverContextConfig ([#10](https://github.com/matter-labs/zksync-crypto-gpu/issues/10)) ([0c6ba4b](https://github.com/matter-labs/zksync-crypto-gpu/commit/0c6ba4bd2bf759f4d3b594b26854a10ef69d5c68))
39 changes: 23 additions & 16 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
[workspace]
members = [
"crates/*"
]
members = ["crates/*"]
resolver = "2"

[workspace.package]
edition = "2021"
authors = ["The Matter Labs Team <[email protected]>"]
homepage = "https://zksync.io/"
license = "MIT OR Apache-2.0"
keywords = ["blockchain", "zksync"]
categories = ["cryptography"]
repository = "https://github.com/matter-labs/zksync-crypto-gpu"
# All the packages in the workspace should have the same version
version = "0.150.4"
version = "0.150.7"

[workspace.dependencies]
# Local dependencies
bindings-generator = { version = "=0.150.4", path = "crates/bindings-generator" }
boojum-cuda = { version = "=0.150.4", path = "crates/boojum-cuda" }
era_criterion_cuda = { version = "=0.150.4", path = "crates/criterion-cuda" }
era_cudart = { version = "=0.150.4", path = "crates/cudart" }
era_cudart_sys = { version = "=0.150.4", path = "crates/cudart-sys" }
gpu-ffi = { version = "=0.150.4", path = "crates/gpu-ffi", package = "zksync-gpu-ffi" }
gpu-prover = { version = "=0.150.4", path = "crates/gpu-prover", package = "zksync-gpu-prover" }
shivini = { version = "=0.150.4", path = "crates/shivini" }
wrapper-prover = { version = "=0.150.4", path = "crates/wrapper-prover", package = "zksync-wrapper-prover" }
fflonk-gpu = { version = "=0.150.4", path = "crates/fflonk", package = "fflonk-gpu" }
bindings-generator = { version = "=0.150.7", path = "crates/bindings-generator" }
boojum-cuda = { version = "=0.150.7", path = "crates/boojum-cuda" }
era_criterion_cuda = { version = "=0.150.7", path = "crates/criterion-cuda" }
era_cudart = { version = "=0.150.7", path = "crates/cudart" }
era_cudart_sys = { version = "=0.150.7", path = "crates/cudart-sys" }
gpu-ffi = { version = "=0.150.7", path = "crates/gpu-ffi", package = "zksync-gpu-ffi" }
gpu-prover = { version = "=0.150.7", path = "crates/gpu-prover", package = "zksync-gpu-prover" }
shivini = { version = "=0.150.7", path = "crates/shivini" }
wrapper-prover = { version = "=0.150.7", path = "crates/wrapper-prover", package = "zksync-wrapper-prover" }
fflonk = { version = "=0.150.7", path = "crates/fflonk", package = "fflonk-gpu-prover" }

# These dependencies should be shared by all the crates.
circuit_definitions = { version = "=0.150.4" }
zkevm_test_harness = { version = "=0.150.4" }
circuit_definitions = { version = "=0.150.5" }
zkevm_test_harness = { version = "=0.150.5" }
boojum = "=0.30.1"
franklin-crypto = "=0.30.1"
16 changes: 8 additions & 8 deletions crates/bindings-generator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[package]
name = "era_cuda_bindings_generator"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
repository.workspace = true
version.workspace = true
edition = "2021"
authors = ["The Matter Labs Team <[email protected]>"]
homepage = "https://zksync.io/"
repository = "https://github.com/matter-labs/era-cuda"
license = "MIT OR Apache-2.0"
keywords = ["blockchain", "zksync"]
categories = ["cryptography"]
name = "era_cuda_bindings_generator"
description = "CUDA Bindings generator for ZKsync"
publish = false

Expand Down
22 changes: 11 additions & 11 deletions crates/boojum-cuda/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
[package]
name = "boojum-cuda"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
repository.workspace = true
version.workspace = true
edition = "2021"
name = "boojum-cuda"
build = "build/main.rs"
authors = ["The Matter Labs Team <[email protected]>"]
homepage = "https://zksync.io/"
repository = "https://github.com/matter-labs/era-boojum-cuda"
license = "MIT OR Apache-2.0"
keywords = ["blockchain", "zksync"]
categories = ["cryptography"]
description = "Boojum-CUDA is a library implementing GPU-accelerated cryptographic functionality for the zkSync prover"

[build-dependencies]
boojum = "=0.2.2"
boojum.workspace = true
era_cudart_sys.workspace = true
cmake = "0.1"
itertools = "0.13"

[dependencies]
boojum = "=0.2.2"
boojum.workspace = true
era_cudart.workspace = true
era_cudart_sys.workspace = true
itertools = "0.13"
lazy_static = "1.4"

[dev-dependencies]
era_criterion_cuda.workspace = true
blake2 = "0.10"
criterion = "0.5"
era_criterion_cuda.workspace = true
criterion-macro = "0.4"
itertools = "0.13"
rand = "0.8"
Expand Down
16 changes: 8 additions & 8 deletions crates/criterion-cuda/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[package]
name = "era_criterion_cuda"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
repository.workspace = true
version.workspace = true
edition = "2021"
authors = ["The Matter Labs Team <[email protected]>"]
homepage = "https://zksync.io/"
repository = "https://github.com/matter-labs/era-cuda"
license = "MIT OR Apache-2.0"
keywords = ["blockchain", "zksync"]
categories = ["cryptography"]
name = "era_criterion_cuda"
description = "Criterion benchmarks support for CUDA event-based timings for ZKsync"
publish = false

Expand Down
16 changes: 8 additions & 8 deletions crates/cudart-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[package]
name = "era_cudart_sys"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
repository.workspace = true
version.workspace = true
edition = "2021"
authors = ["The Matter Labs Team <[email protected]>"]
homepage = "https://zksync.io/"
repository = "https://github.com/matter-labs/era-cuda"
license = "MIT OR Apache-2.0"
keywords = ["blockchain", "zksync"]
categories = ["cryptography"]
name = "era_cudart_sys"
description = "Raw CUDA bindings for ZKsync"

[dependencies]
Expand Down
Loading

0 comments on commit f92e33e

Please sign in to comment.