Skip to content

Tags Page with more details #308

Tags Page with more details

Tags Page with more details #308

Workflow file for this run

name: PR CI
on:
pull_request:
branches: [ main ]
types: [opened, reopened, synchronize, closed]
jobs:
# BUILD AND UNIT TESTING
build:
# Only run when not closed
if: github.event.pull_request.action != 'closed'
name: Build and Test
runs-on: ubuntu-latest
services:
postgres:
image: postgres:12
ports: ['5432:5432']
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
matrix:
otp: ['25.1.2']
elixir: ['1.14.2']
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir }}
- name: Restore deps and _build cache
uses: actions/cache@v3
with:
path: |
deps
_build
key: deps-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles('**/mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}
- name: Install dependencies
run: mix deps.get
- name: Check code is formatted
run: mix format --check-formatted
- name: Run Tests
run: mix coveralls.json
env:
MIX_ENV: test
AUTH_API_KEY: ${{ secrets.AUTH_API_KEY }}
ENCRYPTION_KEYS: ${{ secrets.ENCRYPTION_KEYS }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
# # DEPLOY THE REVIEW APP
# # This will deploy an app to fly.io with the name 'mvp-pr-$PR_NUMBER' (check `review-apps.sh` script).
# review_app:
# # Only run when it's not a dependabot PR
# if: github.event.pull_request.user.login != 'dependabot[bot]'
# name: Review App Job
# runs-on: ubuntu-latest
# # needs: [build]
# steps:
# - name: Checkout repository
# uses: actions/checkout@v3
# - name: Install flyctl
# uses: superfly/flyctl-actions/setup-flyctl@master
# - name: Set up Elixir
# uses: erlef/setup-beam@v1
# with:
# otp-version: 24.3.4
# elixir-version: 1.14.1
# - name: Run Review App Script
# run: ./.github/scripts/review-apps.sh
# env:
# ENCRYPTION_KEYS: ${{ secrets. ENCRYPTION_KEYS }}
# AUTH_API_KEY: ${{ secrets.FLY_AUTH_API_KEY }}
# APP_NAME: ${{ format('mvp-pr-{0}', github.event.number) }}
# EVENT_ACTION: ${{ github.event.action }}
# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
# FLY_ORG: dwyl-mvp
# FLY_REGION: lhr
# FLY_POSTGRES_NAME: mvp-db
# API DEFINITION TESTING - https://docs.hoppscotch.io/cli
# NOTE: The tests are executed sequentially in each folder
# but all the sequence of folders are run in reverse order of what's displayed in the GUI.
# We've made use of env variables to make it work. Take this into account if you want to add more requests.
# api_definition:
# # Only run when not closed
# if: github.event.pull_request.action != 'closed'
# name: API Definition Tests
# runs-on: ubuntu-latest
# needs: [review_app]
# steps:
# - uses: actions/checkout@v3
# # After the app is deployed, we need to change the host
# # in the `lib/api/fly_dev.json` so the API tests work and target the deployed app.
# - name: Update lib/api/fly_dev.json description
# uses: jossef/[email protected]
# with:
# file: ./lib/api/fly_dev.json
# field: host
# value: ${{ format('https://mvp-pr-{0}.fly.dev', github.event.number) }}
# - name: Install Hoppscotch CLI
# run: npm i -g @hoppscotch/[email protected]
# - name: Running server and Hoppscotch Tests
# run: hopp test -e ./lib/api/fly_dev.json ./lib/api/MVP.json