Skip to content

feat: export calldata codecs #10381

feat: export calldata codecs

feat: export calldata codecs #10381

Workflow file for this run

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)