Skip to content

introducing layouts for every route for better and finer control #15

introducing layouts for every route for better and finer control

introducing layouts for every route for better and finer control #15

Workflow file for this run

# name: 🚀 Deploy
# on:
# push:
# branches:
# - main
# - dev
# pull_request: {}
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
# permissions:
# actions: write
# contents: read
# jobs:
# lint:
# name: ⬣ ESLint
# runs-on: ubuntu-22.04
# steps:
# - name: ⬇️ Checkout repo
# uses: actions/checkout@v3
# - name: ⎔ Setup node
# uses: actions/setup-node@v3
# with:
# node-version: 20
# - name: 📥 Download deps
# uses: bahmutov/npm-install@v1
# - name: 🖼 Build icons
# run: npm run build:icons
# - name: 🔬 Lint
# run: npm run lint
# typecheck:
# name: ʦ TypeScript
# runs-on: ubuntu-22.04
# steps:
# - name: ⬇️ Checkout repo
# uses: actions/checkout@v3
# - name: ⎔ Setup node
# uses: actions/setup-node@v3
# with:
# node-version: 20
# - name: 📥 Download deps
# uses: bahmutov/npm-install@v1
# - name: 🖼 Build icons
# run: npm run build:icons
# - name: 🔎 Type check
# run: npm run typecheck --if-present
# vitest:
# name: ⚡ Vitest
# runs-on: ubuntu-22.04
# steps:
# - name: ⬇️ Checkout repo
# uses: actions/checkout@v3
# - name: ⎔ Setup node
# uses: actions/setup-node@v3
# with:
# node-version: 20
# - name: 📥 Download deps
# uses: bahmutov/npm-install@v1
# - name: 🏄 Copy test env vars
# run: cp .env.example .env
# - name: 🖼 Build icons
# run: npm run build:icons
# - name: ⚡ Run vitest
# run: npm run test -- --coverage
# playwright:
# name: 🎭 Playwright
# runs-on: ubuntu-22.04
# timeout-minutes: 60
# steps:
# - name: ⬇️ Checkout repo
# uses: actions/checkout@v3
# - name: 🏄 Copy test env vars
# run: cp .env.example .env
# - name: ⎔ Setup node
# uses: actions/setup-node@v3
# with:
# node-version: 20
# - name: 📥 Download deps
# uses: bahmutov/npm-install@v1
# - name: 📥 Install Playwright Browsers
# run: npm run test:e2e:install
# - name: 🛠 Setup Database
# run: npx prisma migrate deploy
# - name: 🏦 Cache Database
# id: db-cache
# uses: actions/cache@v3
# with:
# path: prisma/data.db
# key:
# db-cache-schema_${{ hashFiles('./prisma/schema.prisma')
# }}-migrations_${{ hashFiles('./prisma/migrations/*/migration.sql')
# }}
# - name: 🌱 Seed Database
# if: steps.db-cache.outputs.cache-hit != 'true'
# run: npx prisma db seed
# env:
# MINIMAL_SEED: true
# - name: 🏗 Build
# run: npm run build
# - name: 🎭 Playwright tests
# run: npx playwright test
# - name: 📊 Upload report
# uses: actions/upload-artifact@v3
# if: always()
# with:
# name: playwright-report
# path: playwright-report/
# retention-days: 30
# deploy:
# name: 🚀 Deploy
# runs-on: ubuntu-22.04
# needs: [lint, typecheck, vitest, playwright]
# # only build/deploy main branch on pushes
# if:
# ${{ (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev') &&
# github.event_name == 'push' }}
# steps:
# - name: ⬇️ Checkout repo
# uses: actions/checkout@v3
# - name: 👀 Read app name
# uses: SebRollen/[email protected]
# id: app_name
# with:
# file: 'fly.toml'
# field: 'app'
# # move Dockerfile to root
# - name: 🚚 Move Dockerfile
# run: |
# mv ./other/Dockerfile ./Dockerfile
# mv ./other/.dockerignore ./.dockerignore
# - name: 🎈 Setup Fly
# uses: superfly/flyctl-actions/[email protected]
# - name: 🚀 Deploy Staging
# if: ${{ github.ref == 'refs/heads/dev' }}
# run:
# flyctl deploy --remote-only --build-arg COMMIT_SHA=${{ github.sha }}
# --app ${{ steps.app_name.outputs.value }}-staging
# env:
# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
# - name: 🚀 Deploy Production
# if: ${{ github.ref == 'refs/heads/main' }}
# run:
# flyctl deploy --remote-only --build-arg COMMIT_SHA=${{ github.sha }}
# env:
# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}