feat(v5): support call data encoding #10382
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: Run checks on Pull Requests | |
| on: | |
| pull_request: | |
| jobs: | |
| changes: | |
| name: Detect Changes | |
| runs-on: ubuntu-latest | |
| outputs: | |
| docs: ${{ steps.filter.outputs.docs }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| docs: | |
| - 'docs/**/*.mdx' | |
| enforce_title: | |
| name: Enforce PR Title Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: "Checkout files" | |
| uses: actions/checkout@v3 | |
| with: | |
| token: ${{ secrets.ALCHEMY_BOT_PAT }} | |
| fetch-depth: "0" | |
| submodules: "recursive" | |
| - name: Setup | |
| uses: ./.github/actions/setup | |
| - name: Use commitlint to check PR title | |
| env: | |
| TITLE: ${{ github.event.pull_request.title }} | |
| run: echo "$TITLE" | yarn commitlint | |
| lint_docs: | |
| name: Lint Documentation | |
| runs-on: ubuntu-latest | |
| needs: changes | |
| if: ${{ needs.changes.outputs.docs == 'true' }} | |
| steps: | |
| - name: "Checkout files" | |
| uses: actions/checkout@v3 | |
| with: | |
| token: ${{ secrets.ALCHEMY_BOT_PAT }} | |
| fetch-depth: "0" | |
| submodules: "recursive" | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: '22' | |
| cache: yarn | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Install Vale | |
| run: | | |
| wget -O vale.tar.gz https://github.com/errata-ai/vale/releases/download/v3.12.0/vale_3.12.0_Linux_64-bit.tar.gz | |
| tar -xzf vale.tar.gz | |
| sudo mv vale /usr/local/bin/ | |
| vale --version | |
| - name: Run documentation linting | |
| run: yarn lint:docs | |
| check_broken_links: | |
| name: Check Broken Links | |
| runs-on: ubuntu-latest | |
| needs: changes | |
| if: ${{ needs.changes.outputs.docs == 'true' }} | |
| steps: | |
| - name: "Checkout files" | |
| uses: actions/checkout@v3 | |
| with: | |
| token: ${{ secrets.ALCHEMY_BOT_PAT }} | |
| fetch-depth: "0" | |
| submodules: "recursive" | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: '22' | |
| cache: yarn | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Install Lychee | |
| run: | | |
| wget -O lychee.tar.gz https://github.com/lycheeverse/lychee/releases/download/lychee-v0.20.1/lychee-x86_64-unknown-linux-gnu.tar.gz | |
| tar -xzf lychee.tar.gz | |
| sudo mv lychee /usr/local/bin/ | |
| lychee --version | |
| - name: Check for broken links | |
| run: yarn docs:broken-links | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| env: | |
| REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.ALCHEMY_BOT_PAT }} | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ vars.TURBO_TEAM }} | |
| steps: | |
| - name: "Checkout files" | |
| uses: actions/checkout@v3 | |
| with: | |
| token: ${{ secrets.ALCHEMY_BOT_PAT }} | |
| fetch-depth: "0" | |
| submodules: "recursive" | |
| - name: Setup | |
| uses: ./.github/actions/setup | |
| - name: Build eslint plugin | |
| run: | | |
| cd templates/eslint && yarn build | |
| - uses: reviewdog/action-setup@v1 | |
| with: | |
| reviewdog_version: latest | |
| - name: Run eslint with reviewdog | |
| run: | | |
| npx --no-install -c "eslint -f=rdjson ." | reviewdog -f=rdjson -reporter=github-pr-review -filter-mode=added -tee | |
| - name: Run eslint for errors | |
| run: yarn lint:check | |
| build_and_lint_and_test: | |
| name: Build and Test | |
| runs-on: ubuntu-latest | |
| env: | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| API_KEY: ${{ secrets.API_KEY }} | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ vars.TURBO_TEAM }} | |
| TEST_ALCHEMY_API_KEY: ${{ secrets.TEST_ALCHEMY_API_KEY }} | |
| TEST_PAYMASTER_POLICY_ID: ${{ secrets.TEST_PAYMASTER_POLICY_ID }} | |
| steps: | |
| - name: "Checkout files" | |
| uses: actions/checkout@v3 | |
| with: | |
| token: ${{ secrets.ALCHEMY_BOT_PAT }} | |
| fetch-depth: "0" | |
| submodules: "recursive" | |
| - name: Free up disk space | |
| run: | | |
| echo "Disk space before cleanup:" | |
| df -h | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune --all --force | |
| echo "Disk space after cleanup:" | |
| df -h | |
| - name: Setup | |
| uses: ./.github/actions/setup | |
| # using your own fork url avoids getting rate limited by the public api | |
| # later we'll look at deploying everything we need directly to anvil so | |
| # so we don't need a fork url | |
| - name: Conditionally set fork url | |
| if: ${{ env.API_KEY != '' }} | |
| run: echo "VITEST_SEPOLIA_FORK_URL=https://eth-sepolia.g.alchemy.com/v2/${{ env.API_KEY }}" >> $GITHUB_ENV | |
| - name: Set up Rundler | |
| uses: jaxxstorm/action-install-gh-release@v1.12.0 | |
| with: | |
| repo: alchemyplatform/rundler | |
| platform: linux | |
| tag: v0.11.0 | |
| cache: enable | |
| - name: Build Libraries | |
| env: | |
| API_KEY: ${{ secrets.API_KEY }} | |
| JAVA_OPTS: "-XX:MaxHeapSize=6g" | |
| run: yarn build:libs | |
| - name: Unit Test | |
| run: ./scripts/run-affected-tests.sh "${{ github.event.pull_request.base.ref }}" | |
| - name: Typecheck Test | |
| run: yarn test:typecheck | |
| - name: Check SDK reference docs are up to date | |
| run: | | |
| yarn docs:sdk | |
| yarn lint:write | |
| git diff --exit-code docs/pages/reference/ || \ | |
| (echo "::error::SDK reference docs are out of date. Run 'yarn docs:sdk' and commit the changes." && exit 1) |