feat: add make command for geth and entrypoint #521
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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
name: ci | |
jobs: | |
build_and_test: | |
name: Silius - ERC-4337 bundler in Rust | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt, clippy | |
- name: Install cargo tools | |
run: | | |
cargo install cargo-sort cargo-udeps | |
- name: Setup Rust cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Fetch third-party dependencies | |
run: | | |
make fetch-thirdparty | |
- name: Setup Yarn cache - submodule "thirdparty/account-abstraction" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16.17' | |
cache: 'yarn' | |
cache-dependency-path: crates/contracts/thirdparty/account-abstraction | |
- name: Setup Yarn cache - submodule "thirdparty/bundler" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16.17' | |
cache: 'yarn' | |
cache-dependency-path: tests/thirdparty/bundler | |
- name: Setup third-party dependencies | |
run: | | |
make setup-thirdparty | |
- name: Install Geth and solc | |
run: | | |
sudo add-apt-repository ppa:ethereum/ethereum | |
sudo apt-get update | |
sudo apt-get install solc | |
wget -c https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.12.0-e501b3b0.tar.gz | |
tar -xf geth-linux-amd64-1.12.0-e501b3b0.tar.gz | |
mv geth-linux-amd64-1.12.0-e501b3b0/geth /usr/local/bin/ | |
chmod a+x /usr/local/bin/geth | |
- name: Build | |
run: | | |
make build | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: silius | |
path: target/release/silius | |
- name: Lint | |
run: | | |
make lint | |
- name: Test | |
run: | | |
make test | |
bundler_spec_tests: | |
name: Run bundler spec tests | |
runs-on: ubuntu-latest | |
needs: build_and_test | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: eth-infinitism/bundler-spec-tests | |
ref: 'b9f192f39298e6586729d40f29e3098c92e5c0b9' | |
submodules: true | |
- uses: actions/checkout@v3 | |
with: | |
path: | |
silius | |
- run: curl -sSL https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py | python3 - | |
- run: pip install jq yq | |
- run: pdm install && git submodule update --init --recursive && cd @account-abstraction && git fetch --all --tags && git checkout v0.6.0 && yarn && yarn compile && cd ../spec && yarn && yarn build && cd .. | |
- uses: actions/download-artifact@v3 | |
with: | |
name: silius | |
path: silius-artifact | |
- run: mv silius-artifact/silius /usr/local/bin/ | |
- run: chmod a+x /usr/local/bin/silius | |
- run: chmod a+x silius/bundler-spec-tests/launcher.sh | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '16.17' | |
- run: npm install -g yarn | |
- name: Run tests | |
run: pdm run test --launcher-script silius/bundler-spec-tests/launcher.sh --url http://127.0.0.1:3000 |