Skip to content

💚 Add workflow for Continuous Integration (#1) #22

💚 Add workflow for Continuous Integration (#1)

💚 Add workflow for Continuous Integration (#1) #22

Workflow file for this run

name: ♾️ Continuous Integration
on: [push, pull_request]
env:
DENO_DIR: deno
DENO_DEPLOY_TOKEN: ${{ secrets.DENO_DEPLOY_TOKEN }}
ENVIRONMENT: ${{ vars.ENVIRONMENT }}
ADMIN_EMAILS: ${{ secrets.ADMIN_EMAILS }}
ADMIN_PASSWORDS: ${{ secrets.ADMIN_PASSWORDS }}
jobs:
check-code-quality:
name: ✅ Check Code Quality
runs-on: ubuntu-latest
steps:
- name: 👯‍♂️ Clone Repository
uses: actions/checkout@v4
- name: 🦕 Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: vx.x.x
- name: 🗄️ Start Database
uses: MongoCamp/mongodb-github-action@1.2.0
- name: 🔎 Lint Files
run: deno lint
- name: 🧪 Run Tests
run: deno test --allow-all
release-preview:
name: 🛰️ Release Preview
needs: check-code-quality
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: 👯‍♂️ Clone Repository
uses: actions/checkout@v4
- name: 🦕 Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: vx.x.x
- name: 🧰 Install Deploy Tool
run: deno install -A --no-check -r -f https://deno.land/x/deploy/deployctl.ts
- name: 🔥 Deploy
run: deno task deploy
release-production:
name: 🚀 Release Production
needs: check-code-quality
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: 👯‍♂️ Clone Repository
uses: actions/checkout@v4
- name: 🦕 Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: vx.x.x
- name: 🧰 Install Deploy Tool
run: deno install -A --no-check -r -f https://deno.land/x/deploy/deployctl.ts
- name: 🔥 Deploy
run: deno task deploy:prod