Skip to content

Merge pull request #65 from marmelab/fix/catch-ctrc+c #197

Merge pull request #65 from marmelab/fix/catch-ctrc+c

Merge pull request #65 from marmelab/fix/catch-ctrc+c #197

Workflow file for this run

name: 🚀 Deploy
on:
push:
branches:
- main
- production
pull_request: {}
permissions:
actions: write
contents: write
checks: write
pull-requests: write
jobs:
lint:
name: ⬣ ESLint
runs-on: ubuntu-latest
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]
- name: ⬇️ Checkout repo
uses: actions/checkout@v3
- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: 📥 Download deps
uses: bahmutov/npm-install@v1
- name: 🔬 Lint
uses: wearerequired/lint-action@v2
with:
eslint: true
continue_on_error: false
typecheck:
name: ʦ TypeScript
runs-on: ubuntu-latest
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]
- name: ⬇️ Checkout repo
uses: actions/checkout@v3
- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: 📥 Download deps
uses: bahmutov/npm-install@v1
- name: 🔎 Type check
run: make typecheck
test:
name: 🔍 Test
runs-on: ubuntu-latest
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]
- name: ⬇️ Checkout repo
uses: actions/checkout@v3
- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: 📥 Download deps
uses: bahmutov/npm-install@v1
- name: 🔍 Run test
run: make test-unit
e2e:
name: ⚫️ E2E
runs-on: ubuntu-latest
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]
- name: ⬇️ Checkout repo
uses: actions/checkout@v3
- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: 📥 Download deps
uses: bahmutov/npm-install@v1
- name: ⚙️ Build
run: yarn run build
- name: 🌳 E2E run
run: yarn test-e2e
deploy:
name: 🚀 Deploy
runs-on: ubuntu-latest
timeout-minutes: 20
needs: [lint, typecheck, test, e2e]
# only build/deploy main branch on pushes
if: ${{ ( github.ref == 'refs/heads/main' || github.ref == 'refs/heads/production' ) && github.event_name == 'push' }}
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]
- name: ⬇️ Checkout repo
uses: actions/checkout@v3
- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: 📥 Download deps
uses: bahmutov/npm-install@v1
with:
useLockFile: false
- name: ⚙️ Build
run: make build
- name: 📨 Uploading assets
run: make upload
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
- name: 🚀 Deploy Staging
run: make promote-staging
if: ${{ github.ref == 'refs/heads/main' }}
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
- name: 🚀 Deploy Production
run: make promote-production
if: ${{ github.ref == 'refs/heads/production' }}
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
- name: 📜 Update readme
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: README.md
commit_message: Update README [skip ci]