Skip to content

Develop

Develop #8

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
contract-tests:
name: Smart Contract Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./contract
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: contract/package-lock.json
- run: npm ci
- run: npm audit --audit-level=critical
- run: npx hardhat compile
- run: npx hardhat test
frontend-build:
name: Frontend Build
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- run: npm ci
- run: npx tsc --noEmit
- run: npm run lint
- run: npm run build
env:
NEXT_PUBLIC_CONTRACT_ADDRESS: ${{ secrets.NEXT_PUBLIC_CONTRACT_ADDRESS }}
NEXT_PUBLIC_POLKADOT_HUB_RPC: ${{ secrets.NEXT_PUBLIC_POLKADOT_HUB_RPC }}
NEXT_PUBLIC_CHAIN_ID: ${{ secrets.NEXT_PUBLIC_CHAIN_ID }}
deploy-frontend:
name: Deploy Frontend
runs-on: ubuntu-latest
needs: [contract-tests, frontend-build]
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- uses: amondnet/vercel-action@v25
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
working-directory: ./frontend
vercel-args: '--prod'