Skip to content

Merge pull request #267 from UoaWDCC/chore/I-want-to-kill-myself #301

Merge pull request #267 from UoaWDCC/chore/I-want-to-kill-myself

Merge pull request #267 from UoaWDCC/chore/I-want-to-kill-myself #301

Workflow file for this run

name: CICD Pipeline
on:
push:
branches:
- master
paths-ignore:
- "docs/**"
pull_request:
paths-ignore:
- "docs/**"
jobs:
run-prettier-frontend:
name: Run prettier frontend
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- name: Check out Git repository
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
# Installs dev dependencies
- name: Install dev dependencies
run: yarn install
# Runs prettier
- name: Run code style check
run: yarn run prettier
run-prettier-backend:
name: Run prettier backend
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- name: Check out Git repository
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
# Installs dev dependencies
- name: Install dev dependencies
run: yarn install
# Runs prettier
- name: Run code style check
run: yarn run prettier
run-linters-frontend:
needs: [run-prettier-frontend]
name: Run linters frontend
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- name: Check out Git repository
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
# Installs dev dependencies
- name: Install dev dependencies
run: yarn install
# Runs ESLint
- name: Run code style check
run: yarn run lint
run-linters-backend:
needs: [run-prettier-backend]
name: Run linters backend
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- name: Check out Git repository
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
# Installs dev dependencies
- name: Install dev dependencies
run: yarn install
# Runs ESLint
- name: Run code style check
run: yarn run lint
# Enabling tests later to unblock critical path work.
# unit-tests-frontend:
# needs: [run-linters-frontend]
# name: Run unit tests frontend
# runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: ./frontend
# steps:
# - name: Check out Git repository
# uses: actions/checkout@v2
# - uses: actions/cache@v2
# with:
# path: ~/.npm
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-node-
# - name: Set up Node.js
# uses: actions/setup-node@v3
# with:
# node-version: 20
# # Installs dev dependencies
# - name: Install dev dependencies
# run: yarn install
# - name: Run build
# run: yarn run build --if-present
# - name: Run tests
# run: yarn test
unit-tests-backend:
needs: [run-linters-backend]
name: Run unit tests backend
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- name: Check out Git repository
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
# Installs dev dependencies
- name: Install dev dependencies
run: yarn install
- name: Run tests
run: yarn test