Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
13 changes: 8 additions & 5 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@ jobs:
with:
components: rustfmt, clippy
- uses: actions/checkout@v4
- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
- name: Install test dependencies
run: pip install -r requirements.txt
enable-cache: true
- name: Install python deps
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV
- name: Run benchmark
run: make benchmark-action
- name: Store benchmark result
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/fresh_run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,21 @@ jobs:
- name: Install Rust
uses: dtolnay/[email protected]

- name: Install Pyenv
uses: "gabrielfalcao/pyenv-action@v13"
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true

- name: Install Rosetta
if: matrix.os_name == 'macos'
run: softwareupdate --install-rosetta --agree-to-license

- name: Run make deps${{ matrix.deps_suffix }}
id: deps
run: make deps${{ matrix.deps_suffix }}
run: |
make deps${{ matrix.deps_suffix }}
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Run make build
id: build
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/hyper_threading_benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,13 @@ jobs:
- name: Checkout PR
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
enable-cache: true

- name: Install Dependencies
run: |
pip install -r requirements.txt
sudo apt update
sudo apt-get install -y hyperfine

Expand Down Expand Up @@ -74,6 +73,14 @@ jobs:
name: hyper_threading_workflow_script
path: ${{ github.workspace }}/

- name: Install python deps
run: |
uv python install 3.9.15
uv venv --python 3.9.15 cairo-vm-env
. cairo-vm-env/bin/activate
uv pip install -r requirements.txt
echo PATH=$PATH >> $GITHUB_ENV

- name: Compile programs
run: make cairo_bench_programs

Expand Down
16 changes: 10 additions & 6 deletions .github/workflows/hyperfine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,19 @@ jobs:
key: benchmarks-${{ matrix.branch }}-${{ hashFiles( 'cairo_programs/benchmarks/*.cairo' ) }}
restore-keys: benchmarks-${{ matrix.branch }}-

- name: Install Python
- name: Install uv
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
uses: actions/setup-python@v4
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'

- name: Install Cairo compiler
enable-cache: true
- name: Install python deps
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
run: pip install -r requirements.txt
run: |
uv python install 3.9.15
uv venv --python 3.9.15 cairo-vm-env
. cairo-vm-env/bin/activate
uv pip install -r requirements.txt
echo PATH=$PATH >> $GITHUB_ENV

- name: Build programs
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/iai_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,17 @@ jobs:
uses: dtolnay/[email protected]
- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
enable-cache: true
- name: Install python deps
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV
- name: Install test dependencies
run: |
pip install -r requirements.txt
sudo apt update
sudo apt install -y valgrind
cargo install --version 0.3.1 iai-callgrind-runner
Expand Down
31 changes: 23 additions & 8 deletions .github/workflows/iai_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,24 @@ jobs:
- name: Set up cargo cache
if: ${{ steps.cache-iai-results.outputs.cache-hit != 'true' }}
uses: Swatinem/rust-cache@v2
- name: Python3 Build

- name: Install uv
if: ${{ steps.cache-iai-results.outputs.cache-hit != 'true' }}
uses: actions/setup-python@v4
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
enable-cache: true
- name: Install python deps
if: ${{ steps.cache-iai-results.outputs.cache-hit != 'true' }}
run: |
uv python install 3.9.15
uv venv --python 3.9.15 cairo-vm-env
. cairo-vm-env/bin/activate
uv pip install -r requirements.txt
echo PATH=$PATH >> $GITHUB_ENV

- name: Install test dependencies
if: ${{ steps.cache-iai-results.outputs.cache-hit != 'true' }}
run: |
pip install -r requirements.txt
sudo apt update
sudo apt install -y valgrind
cargo install --version 0.3.1 iai-callgrind-runner
Expand All @@ -54,13 +63,19 @@ jobs:
uses: dtolnay/[email protected]
- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
enable-cache: true
- name: Install python deps
run: |
uv python install 3.9.15
uv venv --python 3.9.15 cairo-vm-env
. cairo-vm-env/bin/activate
uv pip install -r requirements.txt
echo PATH=$PATH >> $GITHUB_ENV
- name: Install test dependencies
run: |
pip install -r requirements.txt
sudo apt update
sudo apt install -y valgrind
cargo install --version 0.3.1 iai-callgrind-runner
Expand Down
93 changes: 50 additions & 43 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,21 +73,21 @@ jobs:
- name: Restore timestamps
uses: chetan/git-restore-mtime-action@v1

- name: Python3 Build
- name: Install uv
if: steps.cache-programs.outputs.cache-hit != 'true'
&& matrix.program-target != 'cairo_1_test_contracts'
&& matrix.program-target != 'cairo_2_test_contracts'
uses: actions/setup-python@v4
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'

- name: Install cairo-lang and deps
if: |
steps.cache-programs.outputs.cache-hit != 'true'
enable-cache: true
- name: Install python deps
if: steps.cache-programs.outputs.cache-hit != 'true'
&& matrix.program-target != 'cairo_1_test_contracts'
&& matrix.program-target != 'cairo_2_test_contracts'
run: pip install -r requirements.txt
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Install cairo 1 compiler
if: steps.cache-programs.outputs.cache-hit != 'true' && matrix.program-target == 'cairo_1_test_contracts'
Expand Down Expand Up @@ -443,16 +443,17 @@ jobs:
cairo_programs/**/*.pie.zip
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}

- name: Python3 Build
- name: Install uv
if: steps.trace-cache.outputs.cache-hit != 'true'
uses: actions/setup-python@v4
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'

- name: Install cairo-lang and deps
enable-cache: true
- name: Install python deps
if: steps.trace-cache.outputs.cache-hit != 'true'
run: pip install -r requirements.txt
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Fetch programs
if: steps.trace-cache.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -805,15 +806,18 @@ jobs:
with:
fetch-depth: 0

- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'
enable-cache: true
- name: Install python deps
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Install cairo-lang and deps
- name: Install wasm-pack dep
run: |
pip install -r requirements.txt
npm install -g wasm-pack

- name: Build wasm-demo
Expand All @@ -830,14 +834,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'

- name: Install cairo-lang and deps
run: pip install -r requirements.txt
enable-cache: true
- name: Install python deps
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Fetch release binary
uses: actions/cache/restore@v3
Expand Down Expand Up @@ -869,14 +874,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'

- name: Install cairo-lang and deps
run: pip install -r requirements.txt
enable-cache: true
- name: Install python deps
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Fetch release binary
uses: actions/cache/restore@v3
Expand Down Expand Up @@ -920,14 +926,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Python3 Build
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'

- name: Install cairo-lang and deps
run: pip install -r requirements.txt
enable-cache: true
- name: Install python deps
run: |
make python-deps
. cairo-vm-env/bin/activate
echo PATH=$PATH >> $GITHUB_ENV

- name: Fetch release binary
uses: actions/cache/restore@v3
Expand Down
25 changes: 6 additions & 19 deletions .github/workflows/test_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,10 @@ jobs:
cache-directories: ./cairo/target/

# just to cache dependencies
- name: Install python
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.9'
cache: 'pip'
enable-cache: true

# NOTE: we do it in one step because GitHub cleans the PATH between steps
- name: Install dependencies and compile project
Expand Down Expand Up @@ -60,22 +59,10 @@ jobs:
key: ${{ runner.os }}-install-${{ github.sha }}
restore-keys: ${{ runner.os }}-install-

- name: Enable pip cache
run: |
mkdir -p ~/.cache/pip
chown -v -R $USER ~/.cache
chmod -v -R 770 ~/.cache
ls -al ~/
ls -al ~/.cache

# NOTE: we don't use install-python because lsb_release isn't installed
- name: Cache Python dependencies
uses: actions/cache@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
path: |
~/.cache/pip/wheels
key: ${{ runner.os }}-python-install-${{ github.sha }}
restore-keys: ${{ runner.os }}-python-install-
enable-cache: true

# NOTE: we do it in one step because GitHub cleans the PATH between steps
- name: Install dependencies and compile project
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

#### Upcoming Changes

* chore: Migrate from `pyenv` to `uv` [#1995](https://github.com/lambdaclass/cairo-vm/pull/1995)

* chore: remove unused dependencies [#2111](https://github.com/lambdaclass/cairo-vm/pull/2111)

* chore: update Rust required version to 1.87.0 [#2100](https://github.com/lambdaclass/cairo-vm/pull/2100)
Expand Down
Loading
Loading