Skip to content

ci: add workflows

ci: add workflows #1

Workflow file for this run

name: CI
on:
push:
branches:
- develop
pull_request:
branches:
- develop
jobs:
install-deps:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache node modules
id: cache
uses: actions/cache@v3
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('package-lock.json') }}
- uses: actions/setup-node@v3
if: steps.cache.outputs.cache-hit != 'true'
with:
node-version: 16.x
- name: NPM install
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
lint:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --no-tags --prune --depth=1 origin develop
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('package-lock.json') }}
- run: npx nx lint
test:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --no-tags --prune --depth=1 origin develop
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('package-lock.json') }}
- run: npx nx test
build:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --no-tags --prune --depth=1 origin develop
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('package-lock.json') }}
- run: npx nx build
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: dist
path: dist