Skip to content

build(deps): bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 #22

build(deps): bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0

build(deps): bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 #22

Workflow file for this run

name: Node
on:
workflow_dispatch:
push:
branches:
- main
pull_request: {}
permissions:
actions: write
contents: read
env:
TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres
NODE_ENV: test
# FLY_API_TOKEN: set in GH actions
jobs:
lint:
name: ⬣ ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-setup
- name: 🔬 Lint
run: npm run lint
typecheck:
name: ʦ TypeScript
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-setup
- name: 🔎 Type check
run: npm run typecheck --if-present
depcheck:
name: Dependency Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-setup
- name: Dependency Check
uses: prymitive/depcheck-action@v1.4.3
vitest:
name: ⚡ Vitest
runs-on: ubuntu-latest
services:
postgres:
image: postgres
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: postgres
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-setup
with:
setup-db: true
- name: ⚡ Run vitest
run: npm run test -- --coverage
cypress:
name: ⚫️ Cypress
runs-on: ubuntu-latest
services:
postgres:
image: postgres
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: postgres
if: false
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-setup
with:
setup-db: true
- name: 🏄 Copy test env vars
run: cp .env.example .env
- name: ⚙️ Build
run: npm run build
- name: 🌳 Cypress run
uses: cypress-io/github-action@v5
with:
start: npm run start:mocks
wait-on: "http://localhost:8811"
env:
PORT: "8811"
deploy:
name: 🚀 Deploy
runs-on: ubuntu-latest
# TODO add cypress
needs: [lint, typecheck, vitest, depcheck]
# only build/deploy main branch on pushes
if: ${{ (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev') && github.event_name == 'push' }}
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.12.0
- name: ⬇️ Checkout repo
uses: actions/checkout@v3
- name: 👀 Read app name
uses: SebRollen/toml-action@v1.0.2
id: app_name
with:
file: "node.toml"
field: "app"
# - name: 🚀 Deploy Staging
# if: ${{ github.ref == 'refs/heads/dev' }}
# uses: superfly/flyctl-actions@1.3
# with:
# args: "deploy --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ github.sha }}"
# env:
# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
- name: 🚀 Deploy Production
if: ${{ github.ref == 'refs/heads/main' }}
uses: superfly/flyctl-actions@1.3
with:
args: "deploy --detach --config node.toml"
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}