Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native with artifact dependencies #111

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from
Binary file added .DS_Store
Binary file not shown.
2 changes: 2 additions & 0 deletions .cargo /config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[unstable]
bindeps = true
32 changes: 8 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ jobs:
MLIR_SYS_190_PREFIX: /usr/lib/llvm-19/
LLVM_SYS_191_PREFIX: /usr/lib/llvm-19/
TABLEGEN_190_PREFIX: /usr/lib/llvm-19/
CAIRO_NATIVE_RUNTIME_LIBRARY: libcairo_native_runtime.a
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.83.0
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
Expand All @@ -35,7 +34,7 @@ jobs:
- name: Install LLVM
run: sudo apt-get install llvm-19 llvm-19-dev llvm-19-runtime clang-19 clang-tools-19 lld-19 libpolly-19-dev libmlir-19-dev mlir-19-tools
- name: Clippy
run: cargo clippy --all-targets --all-features -- -D warnings
run: cargo +nightly clippy -Z bindeps --all-targets --all-features -- -D warnings

format:
name: rustfmt
Expand Down Expand Up @@ -137,7 +136,7 @@ jobs:
sudo rm -rf /usr/local/lib/android
df -h
- name: Setup rust env
uses: dtolnay/rust-toolchain@1.83.0
uses: dtolnay/rust-toolchain@nightly
- name: Retreive cached dependecies
uses: Swatinem/rust-cache@v2
- name: Add LLVM Debian repository
Expand All @@ -149,20 +148,8 @@ jobs:
- run: sudo apt-get update && sudo apt-get upgrade -y
- name: Install LLVM
run: sudo apt-get install llvm-19 llvm-19-dev llvm-19-runtime clang-19 clang-tools-19 lld-19 libpolly-19-dev libmlir-19-dev mlir-19-tools
- name: Checkout cairo_native
uses: actions/checkout@v4
with:
repository: lambdaclass/cairo_native
ref: 76e83965d3bf1252eb6c68200a3accd5fd1ec004
path: cairo_native
- name: Build Cairo Native Runtime Library
shell: bash
run: |
cd cairo_native
make runtime
echo "CAIRO_NATIVE_RUNTIME_LIBRARY=$(pwd)/libcairo_native_runtime.a" > $GITHUB_ENV
- name: Test
run: cargo test
run: cargo +nightly test -Z bindeps

test_macos:
name: Test (macOS, Apple silicon)
Expand All @@ -178,24 +165,21 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup rust env
uses: dtolnay/rust-toolchain@1.83.0
uses: dtolnay/rust-toolchain@nightly
- name: Rust `$PATH` workaround.
run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- uses: Homebrew/actions/setup-homebrew@master
- name: Retreive cached dependecies
uses: Swatinem/rust-cache@v2
- name: Install LLVM
run: brew install llvm@19 --quiet

- name: Checkout cairo_native
uses: actions/checkout@v4
with:
repository: lambdaclass/cairo_native
ref: 6a4efafa26d6a0424dee593d2091206c6e9f428d
path: cairo_native
- name: Build Cairo Native Runtime Library
run: |
cd cairo_native
make runtime
echo "CAIRO_NATIVE_RUNTIME_LIBRARY=$(pwd)/libcairo_native_runtime.a" > $GITHUB_ENV

- name: Test
run: cargo test
run: cargo +nightly test -Z bindeps
54 changes: 27 additions & 27 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ tracing = "0.1"
serde_json = "1.0.116"
serde_with = "3.11.0"
serde = "1.0.197"
cairo-native = { git = "https://github.com/lambdaclass/cairo_native.git", rev = "6a4efafa26d6a0424dee593d2091206c6e9f428d" }
cairo-native = { git = "https://github.com/lambdaclass/cairo_native.git", branch = "runtime_artifact_dependency" }
anyhow = "1.0"
# Sequencer Dependencies
sierra-emu = { git = "https://github.com/lambdaclass/sierra-emu.git", rev = "b3c9d6bd193b2da881fab3dce57fe12c363aed86" }
starknet_api = { git = "https://github.com/lambdaclass/sequencer.git", rev = "865e68baad3943f6f418ee65e7f1d4e104fd80c3" } # replay
blockifier = { git = "https://github.com/lambdaclass/sequencer.git", rev = "865e68baad3943f6f418ee65e7f1d4e104fd80c3", features = ["cairo_native"] } # replay
starknet_gateway = { git = "https://github.com/lambdaclass/sequencer.git", rev = "865e68baad3943f6f418ee65e7f1d4e104fd80c3" } # replay
blockifier_reexecution = { git = "https://github.com/lambdaclass/sequencer.git", rev = "865e68baad3943f6f418ee65e7f1d4e104fd80c3" } # replay
starknet_api = { git = "https://github.com/lambdaclass/sequencer.git", branch = "native-artifact-dependency" } # replay
blockifier = { git = "https://github.com/lambdaclass/sequencer.git", branch = "native-artifact-dependency", features = ["cairo_native"] } # replay
starknet_gateway = { git = "https://github.com/lambdaclass/sequencer.git", branch = "native-artifact-dependency" } # replay
blockifier_reexecution = { git = "https://github.com/lambdaclass/sequencer.git", branch = "native-artifact-dependency" } # replay
Loading