Redesign #2687
Workflow file for this run
This file contains 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: 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 |