Skip to content

Redesign

Redesign #2681

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
# when new commit is pushed to a branch, cancel previous runs
# https://stackoverflow.com/a/67939898/580181
concurrency:
group: ci-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
matrix:
node: ["20"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 8.5.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- run: pnpm install
- run: pnpm build
env:
# at the end of the build, upload sourcemaps to sentry but only on main branch
SENTRY_AUTH_TOKEN: ${{ github.ref == 'refs/heads/main' && secrets.SENTRY_AUTH_TOKEN || '' }}
SENTRY_ORG: ${{ github.ref == 'refs/heads/main' && secrets.SENTRY_ORG || '' }}
SENTRY_PROJECT: ${{ github.ref == 'refs/heads/main' && secrets.SENTRY_PROJECT || '' }}
- uses: krzkaczor/size-limit-action@master
if: github.ref != 'refs/heads/main'
with:
skip_step: build # already built
directory: packages/app
github_token: ${{ secrets.GITHUB_TOKEN }}
package_manager: pnpm
test:
strategy:
matrix:
node: ["20"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 8.5.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- run: pnpm install
- run: pnpm check
- run: pnpm verify # does linting, type checking, and tests in parallel
storybook-visual-regression:
strategy:
matrix:
node: ["20"]
os: [ubicloud-standard-4]
runs-on: ${{ matrix.os }}
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v4
with:
version: 8.5.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- run: pnpm install
- name: Publish to Chromatic
uses: chromaui/action@latest
with:
workingDir: packages/app
buildScriptName: storybook:build
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
autoAcceptChanges: redesign-october-2024
onlyChanged: true
externals: |
public/**
src/fonts/**
src/ui/assets/**
test-e2e:
strategy:
fail-fast: false
matrix:
node: ["20"]
os: [ubicloud-standard-16]
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 8.5.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- run: pnpm install
- name: TMP fix MS repos
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
- run: pnpm exec playwright install --with-deps chromium
working-directory: ./packages/app
- run: pnpm run test-e2e
working-directory: ./packages/app
env:
TENDERLY_API_KEY: "${{ secrets.TENDERLY_API_KEY }}"
TENDERLY_ACCOUNT: phoenixlabs
TENDERLY_PROJECT: sparklend
TENDERLY_BASE_DEVNET_CONTAINER_ID: "${{ secrets.TENDERLY_BASE_DEVNET_CONTAINER_ID }}"
VITE_DEV_BASE_DEVNET_RPC_URL: "${{ secrets.VITE_DEV_BASE_DEVNET_RPC_URL }}"
PLAYWRIGHT_TRACE: 1
- name: Upload report to GitHub Actions Artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-e2e-report
path: packages/app/playwright-report
retention-days: 3