Skip to content

add tests

add tests #2023

Workflow file for this run

name: Test
on: [push]
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/[email protected]
with:
version: 7.8.0
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm test:coverage
build-stateless:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/[email protected]
with:
version: 7.8.0
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- name: Get contract addresses
run: 'parallel --lb --halt now,success=1,fail=1 ::: \
"pnpm tenv start -ng -ns -nb" \
"pnpm wait-on ./.env.local"'
- name: Build stateless and export
run: pnpm build:glocal && pnpm export
- name: Tar stateless files
run: tar -cvf stateless-build.tar out
- name: Upload stateless
uses: actions/upload-artifact@v3
with:
name: stateless-build
path: stateless-build.tar
build-stateful:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/[email protected]
with:
version: 7.8.0
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- name: Build stateful and export
run: pnpm build && pnpm export
- name: Tar stateful files
run: tar -cvf stateful-build.tar out
- name: Upload stateful
uses: actions/upload-artifact@v3
with:
name: stateful-build
path: stateful-build.tar
stateless:
needs: build-stateless
timeout-minutes: 20
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
steps:
- uses: actions/checkout@v3
- run: ./scripts/check-chrome.sh
- uses: pnpm/[email protected]
with:
version: 7.8.0
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm rebuild -r
- name: Download build
id: download
uses: actions/download-artifact@v3
with:
name: stateless-build
- name: Untar files
run: tar -xvf stateless-build.tar
- name: Install window server
run: sudo apt-get install -y fluxbox
- name: Run tests
run: |
Xvfb :20 -screen 0 800x600x16 &
sleep 1 &&
DISPLAY=:20 fluxbox -log /tmp/fluxbox.log &
DISPLAY=:20 pnpm e2e:ci -nb
env:
CYPRESS_DEPLOYSENTINEL_KEY: ${{ secrets.CYPRESS_DEPLOYSENTINEL_KEY }}
CI_BUILD_ID: ${{ github.sha }}-${{ github.workflow }}-${{ github.event_name }}
GH_USERNAME: ${{ secrets.GH_USERNAME }}
GH_PAT: ${{ secrets.GH_PAT }}
- uses: actions/upload-artifact@v2
if: failure()
with:
name: synpress-screenshots
path: e2e/screenshots
- uses: actions/upload-artifact@v2
if: always()
with:
name: synpress-videos
path: e2e/videos
stateful:
needs: build-stateful
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [101, 102, 103, 104]
steps:
- uses: actions/checkout@v3
- run: ./scripts/check-chrome.sh
- uses: pnpm/[email protected]
with:
version: 7.8.0
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm rebuild -r
- name: Download build
id: download
uses: actions/download-artifact@v3
with:
name: stateful-build
- name: Untar files
run: tar -xvf stateful-build.tar
- name: Install window server
run: sudo apt-get install -y fluxbox
- name: Check chrome version
run: google-chrome --product-version
- name: Run tests
run: |
Xvfb :20 -screen 0 800x600x16 &
sleep 1 &&
DISPLAY=:20 fluxbox -log /tmp/fluxbox.log &
parallel --lb --halt now,success=1,fail=1 ::: \
"pnpm wrangle" \
"pnpm wait-on http://localhost:8788 && DISPLAY=:20 pnpm synpress:ci:stateful --parallel --ci-build-id ${{ github.sha }}-${{ github.workflow }}-${{ github.event_name }} --group stateful"
env:
CYPRESS_DEPLOYSENTINEL_KEY: ${{ secrets.CYPRESS_DEPLOYSENTINEL_KEY }}
NEXT_PUBLIC_GRAPH_URI: https://api.thegraph.com/subgraphs/name/tateb/enssubdomaincount
SECRET_WORDS: ${{ secrets.SECRET_WORDS }}
GH_USERNAME: ${{ secrets.GH_USERNAME }}
GH_PAT: ${{ secrets.GH_PAT }}
- uses: actions/upload-artifact@v2
if: failure()
with:
name: synpress-screenshots
path: e2e/screenshots
- uses: actions/upload-artifact@v2
if: always()
with:
name: synpress-videos
path: e2e/videos