chore(deps): update non-breaking updates #416
This file contains hidden or 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: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - "main" | |
| pull_request: | |
| jobs: | |
| build: | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| - name: Install dependencies | |
| run: forge soldeer install | |
| - name: Build | |
| run: forge build | |
| test: | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| - name: Install dependencies | |
| run: forge soldeer install | |
| - name: Test | |
| run: forge test | |
| spelling: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Actions Repository | |
| uses: actions/checkout@v5 | |
| - name: Check for typos | |
| uses: crate-ci/typos@v1.42.0 | |
| formatting: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Actions Repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| - name: Check formatting | |
| run: forge fmt --check | |
| coverage: | |
| runs-on: "ubuntu-latest" | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| - name: Install dependencies | |
| run: forge soldeer install | |
| - name: Generate coverage | |
| run: forge coverage --ir-minimum --no-match-coverage 'script|test' --report lcov | |
| - uses: kefasjw/lcov-pull-request-report@v1 | |
| with: | |
| lcov-file: lcov.info | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| slither: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| - name: Install dependencies | |
| run: forge soldeer install | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: 3.14 | |
| - name: Install Slither | |
| run: pip install slither-analyzer | |
| - name: Run Slither | |
| run: slither --config ./slither.config.json . | |
| integration: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| - name: Install dependencies | |
| run: forge soldeer install | |
| - name: Build contracts | |
| run: forge build | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.27.0 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: lts/Jod | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install -r --frozen-lockfile | |
| - name: Run anvil | |
| run: pnpm anvil & | |
| - name: Run bundler | |
| run: pnpm bundler & | |
| - name: Deploy contracts and a test account | |
| run: pnpm deploy-test | |
| - name: Run integration tests | |
| run: pnpm test | |
| zksync-os: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/checkout@v5 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1.6.0 | |
| with: | |
| # zksync-os-server's zkos-l1-state.json doesn't work on latest version of anvil | |
| version: v1.3.4 | |
| - name: Install dependencies | |
| run: forge soldeer install | |
| - name: Build contracts | |
| run: forge build | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.27.0 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: lts/Jod | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: | | |
| pnpm install -r --frozen-lockfile | |
| cd ${{ github.workspace }}/.. | |
| git clone https://github.com/eth-infinitism/account-abstraction | |
| git clone https://github.com/matter-labs/zksync-os-server | |
| - name: Cache Rust build | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: "../zksync-os-server -> target" | |
| - name: Run server | |
| run: | | |
| cd ${{ github.workspace }}/../zksync-os-server | |
| cargo build --release --bin zksync-os-server | |
| anvil --load-state zkos-l1-state.json --port 8545 &> anvil.log & | |
| cargo run --release --bin zksync-os-server &> server.log & | |
| - name: Deploy entrypoint | |
| run: | | |
| cd ${{ github.workspace }}/../account-abstraction | |
| git checkout v0.8.0 | |
| sed -i "60a zksyncos: { url: 'http://localhost:3050', accounts: ['0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110'] }," hardhat.config.ts | |
| npm install -g yarn | |
| yarn install | |
| yarn deploy --network zksyncos | |
| - name: Fund wallet | |
| run: | | |
| # Rich account | |
| PRIVATE_KEY=0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110 | |
| # send 10 ETH | |
| TO=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 | |
| cast send --private-key ${PRIVATE_KEY} --rpc-url http://localhost:3050 ${TO} --value 10000000000000000000 | |
| - name: Deploy contracts and a test account | |
| run: pnpm deploy-test:zksync-os | |
| - name: Run bundler | |
| run: | | |
| pnpm bundler:zksync-os &> bundler.log & | |
| sleep 5 | |
| - name: Run integration tests | |
| run: pnpm test:zksync-os | |
| - name: Print anvil logs | |
| if: always() | |
| run: cat ${{ github.workspace }}/../zksync-os-server/anvil.log | |
| - name: Print server logs | |
| if: always() | |
| run: cat ${{ github.workspace }}/../zksync-os-server/server.log | |
| - name: Print bundler logs | |
| if: always() | |
| run: cat bundler.log |