refactor: remove account version #2827
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: {} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: read-all | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
CI_COMMIT_MESSAGE: CI Formatting Auto Commit | |
CI_COMMIT_AUTHOR: ${{ github.event.repository.name }} CI | |
steps: | |
- uses: actions/checkout@v4 | |
# Python setup | |
- name: Set up Python 3.10.14 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.14 | |
- name: Load cached Poetry installation | |
id: cached-poetry | |
uses: actions/cache@v4 | |
with: | |
path: ~/.local | |
key: poetry-${{ runner.os }} | |
- name: Install Poetry | |
if: steps.cached-poetry.outputs.cache-hit != 'true' | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
- run: poetry config installer.modern-installation false | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: make setup | |
# Build artifacts | |
- name: Compile all the cairo files | |
run: make build | |
# Upload artifacts | |
- name: Uploads Kakarot build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: kakarot-build | |
path: ./build | |
tests-unit: | |
runs-on: ubuntu-latest-16-cores | |
env: | |
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION: python | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10.14 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.14 | |
- name: Load cached Poetry installation | |
id: cached-poetry | |
uses: actions/cache@v4 | |
with: | |
path: ~/.local | |
key: poetry-${{ runner.os }} | |
- name: Install Poetry | |
if: steps.cached-poetry.outputs.cache-hit != 'true' | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
- run: poetry config installer.modern-installation false | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: make setup | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Run tests | |
env: | |
HYPOTHESIS_PROFILE: ci | |
run: make test-unit | |
- name: Upload coverage report to codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/ | |
tests-end-to-end: | |
runs-on: ubuntu-latest | |
env: | |
STARKNET_NETWORK: katana | |
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION: python | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Extract Katana Version | |
id: extract_katana_version | |
run: | | |
KATANA_VERSION=$(grep -oP '^KATANA_VERSION = \K.*' Makefile) | |
echo "katana_version=$KATANA_VERSION" >> "$GITHUB_OUTPUT" | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.14 | |
- name: Load cached Poetry installation | |
id: cached-poetry | |
uses: actions/cache@v4 | |
with: | |
path: ~/.local | |
key: poetry-${{ runner.os }} | |
- name: Install Poetry | |
if: steps.cached-poetry.outputs.cache-hit != 'true' | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
- run: poetry config installer.modern-installation false | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: make setup | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Install asdf & tools # For multiple versions of scarb - reads from .tool-versions and installs them | |
uses: asdf-vm/actions/install@v3 | |
- name: Load cached katana | |
id: cached-katana | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cargo/bin | |
key: katana-${{ steps.extract_katana_version.outputs.katana_version }} | |
- name: Install Katana | |
if: steps.cached-katana.outputs.cache-hit != 'true' | |
run: make install-katana | |
- name: Run tests | |
run: | | |
make fetch-ssj-artifacts | |
cp .env.example .env | |
make run-nodes & make test-end-to-end | |
ef-tests: | |
runs-on: ubuntu-latest-32-cores | |
needs: build | |
steps: | |
- name: Checkout ef-tests | |
uses: actions/checkout@v4 | |
with: | |
repository: kkrt-labs/ef-tests | |
- name: Checkout local skip file | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
blockchain-tests-skip.yml | |
sparse-checkout-cone-mode: false | |
path: skip-file | |
- name: Replace the skip files | |
run: | | |
mv skip-file/blockchain-tests-skip.yml blockchain-tests-skip.yml | |
- name: Rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: "true" | |
- name: setup | |
run: mkdir -p build/common && make setup setup-kakarot-v1 | |
- uses: taiki-e/install-action@nextest | |
- name: Download Kakarot build artifacts in v0 | |
uses: actions/download-artifact@v3 | |
with: | |
name: kakarot-build | |
path: ./build/v0 | |
- name: Move ERC20 | |
run: mv build/v0/ERC20.json build/common | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.14 | |
- name: run tests | |
run: | | |
set -o pipefail | |
make ef-test-v0 | tee test_v0.out | |
set +o pipefail | |
- name: Retrieve ef-tests execution resources | |
run: python scripts/compute_resources.py | |
env: | |
KAKAROT_VERSION: v0 | |
- name: upload resources | |
uses: actions/upload-artifact@v3 | |
with: | |
path: resources | |
name: resources | |
resources: | |
runs-on: ubuntu-latest | |
needs: ef-tests | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10.14 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.14 | |
- name: Load cached Poetry installation | |
id: cached-poetry | |
uses: actions/cache@v4 | |
with: | |
path: ~/.local | |
key: poetry-${{ runner.os }} | |
- name: Install Poetry | |
if: steps.cached-poetry.outputs.cache-hit != 'true' | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
- run: poetry config installer.modern-installation false | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: make setup | |
- name: Load performance artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: resources | |
name: resources | |
- name: Check resources evolution | |
run: | | |
result=$(GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} make check-resources 2>&1) | |
echo "$result" >> "$GITHUB_STEP_SUMMARY" |