Skip to content

Commit

Permalink
rm github actions and bump version
Browse files Browse the repository at this point in the history
  • Loading branch information
itsmegood committed Jan 26, 2024
1 parent d1ce9a4 commit 5c90a97
Show file tree
Hide file tree
Showing 3 changed files with 627 additions and 829 deletions.
362 changes: 181 additions & 181 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,181 +1,181 @@
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 }}
# 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 }}
Loading

0 comments on commit 5c90a97

Please sign in to comment.