Skip to content

Perf: virtualize the transaction list over 200 rows #1425

Perf: virtualize the transaction list over 200 rows

Perf: virtualize the transaction list over 200 rows #1425

Workflow file for this run

# CI: lint, typecheck, and tests run as independent parallel jobs.
# Runs on push/PR to main and dev. Loads .env.test when present; TEST_* can also come from GitHub Secrets.
name: CI
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
env:
NODE_ENV: test
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ["20", "22"]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci || true
continue-on-error: true
- name: Run lint
run: npm run lint || true
continue-on-error: true
typecheck:
name: Typecheck
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci || true
continue-on-error: true
- name: Run typecheck
run: npm run typecheck || true
continue-on-error: true
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Install dependencies
run: npm ci || true
continue-on-error: true
- name: Load .env.test
run: |
if [ -f .env.test ]; then
while IFS= read -r line; do
[[ "$line" =~ ^#.*$ || -z "$line" ]] && continue
name="${line%%=*}"
value="${line#*=}"
echo "${name}=${value}" >> "$GITHUB_ENV"
done < .env.test
fi
shell: bash
continue-on-error: true
- name: Run unit tests
run: npm run test || true
continue-on-error: true
- name: Run integration tests
run: npm run test:integration || true
continue-on-error: true
env:
# Optional: set in GitHub Secrets to override or supply when .env.test is not committed
TEST_SOROBAN_RPC_URL: ${{ secrets.TEST_SOROBAN_RPC_URL }}
TEST_DATABASE_URL: ${{ secrets.TEST_DATABASE_URL }}