Skip to content

perf: defer Solana wallet adapters #4386

perf: defer Solana wallet adapters

perf: defer Solana wallet adapters #4386

Workflow file for this run

name: ci
on:
push:
branches: [main, nautilus, nexus, injective, trump, ousdt]
pull_request:
branches: [main, nautilus, nexus, injective, trump, ousdt]
merge_group:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Get pnpm store directory
id: pnpm-store
shell: bash
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-11-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-11-store-
- name: Install dependencies
run: |
pnpm install --frozen-lockfile
CHANGES=$(git status -s)
if [[ ! -z $CHANGES ]]; then
echo "Changes found: $CHANGES"
git diff
exit 1
fi
- name: Cache build output
id: build-cache
uses: actions/cache@v4
with:
path: .next/
key: ${{ runner.os }}-nextjs-build-${{ hashFiles('src/**', 'pnpm-lock.yaml', 'next.config.js', 'tsconfig.json') }}
- name: build
if: steps.build-cache.outputs.cache-hit != 'true'
run: pnpm run build
env:
NEXT_PUBLIC_WALLET_CONNECT_ID: ${{ secrets.NEXT_PUBLIC_WALLET_CONNECT_ID }}
- name: Check bundle size
run: pnpm check:bundle
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Get pnpm store directory
id: pnpm-store
shell: bash
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-11-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-11-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: typecheck
run: pnpm run typecheck
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Get pnpm store directory
id: pnpm-store
shell: bash
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-11-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-11-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: format
run: |
pnpm run format
CHANGES=$(git status -s)
if [[ ! -z $CHANGES ]]; then
echo "Changes found: $CHANGES"
exit 1
fi
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Get pnpm store directory
id: pnpm-store
shell: bash
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-11-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-11-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: lint
run: pnpm run lint
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Get pnpm store directory
id: pnpm-store
shell: bash
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-11-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-11-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: test
run: pnpm run test
e2e:
needs: [build]
if: >-
github.base_ref == 'main' ||
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
github.event_name == 'merge_group' ||
github.event_name == 'workflow_dispatch'
uses: ./.github/workflows/e2e.yml
secrets: inherit
# Fast wallet-connected E2E subset, gates every PR.
e2e-smoke:
needs: [build]
uses: ./.github/workflows/e2e-smoke.yml
secrets: inherit
# Full wallet-connected E2E matrix (chromium/firefox/webkit). Main-only so
# PRs stay fast; merge_group runs it as a final gate before landing.
e2e-wallet-full:
needs: [build]
if: >-
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
github.event_name == 'merge_group' ||
github.event_name == 'workflow_dispatch'
uses: ./.github/workflows/e2e-wallet-full.yml
secrets: inherit