Add assertSendTransaction to testnet helpers (#670) #3840
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: 9.14.2 | |
- 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: 9.14.2 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: "pnpm" | |
- run: pnpm install | |
- run: pnpm check | |
- run: pnpm verify # runs linting, type checking, and unit 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: 9.14.2 | |
- 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: main | |
onlyChanged: true | |
externals: | | |
public/** | |
src/fonts/** | |
src/ui/assets/** | |
test-e2e: | |
strategy: | |
fail-fast: false | |
matrix: | |
shardIndex: [1, 2] | |
shardTotal: [2] | |
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: 9.14.2 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- run: pnpm install | |
- name: Prepare repo | |
run: | | |
pnpm run --aggregate-output --reporter append-only --filter '!app' build | |
- run: pnpm exec playwright install --with-deps chromium | |
working-directory: ./packages/app | |
- run: pnpm run test-e2e --shard ${{ matrix.shardIndex }}/${{ matrix.shardTotal }} | |
working-directory: ./packages/app | |
env: | |
TENDERLY_API_KEY: "${{ secrets.TENDERLY_API_KEY }}" | |
TENDERLY_ACCOUNT: phoenixlabs | |
TENDERLY_PROJECT: spark-app-e2e-tests | |
PLAYWRIGHT_TRACE: 1 | |
- name: Upload report to GitHub Actions Artifacts | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: playwright-report-${{ matrix.shardIndex }} | |
path: packages/app/playwright-report | |
retention-days: 3 |