Skip to content

Feat/dynamic user groups #229

Feat/dynamic user groups

Feat/dynamic user groups #229

Workflow file for this run

name: Pull Request
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
REGISTRY: ghcr.io
jobs:
# # Uncomment to view GitHub context object
# view-context:
# # https://docs.github.com/en/actions/learn-github-actions/contexts
# name: View GitHub Context
# runs-on: ubuntu-latest
# steps:
# - name: Echo GitHub context
# uses: satackey/action-js-inline@v0.0.2
# with:
# script: |
# const github = require('@actions/github');
# console.log(JSON.stringify(github, null, 2));
build-backend:
name: Backend Image Build
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Backend Docker image
uses: docker/build-push-action@v4
with:
context: ./
push: true
tags: ${{ env.REGISTRY }}/${{ github.repository }}:${{ github.event.number }}-backend
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
REPO_LOCATION=
tests-backend:
name: Backend Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Get npm cache directory
id: npm-cache-dir-backend
run: |
echo "::set-output name=dir::$(npm config get cache)"
- uses: actions/cache@v3
id: npm-cache-backend # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true'
with:
path: ${{ steps.npm-cache-dir-backend.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Cache for test results
id: cache-backend
uses: actions/cache@v3
with:
path: coverage
key: backend-coverage-${{ github.run_number }}
restore-keys: |
backend-coverage-
- name: Tests
run: |
npm ci
npm run test:cov
- name: Report code coverage
if: ${{ github.actor != 'dependabot[bot]' }}
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: Backend coverage report
delete-old-comments: true
github-token: ${{ secrets.GITHUB_TOKEN }}
lcov-file: ./coverage/lcov.info