70 lines
1.7 KiB
YAML
70 lines
1.7 KiB
YAML
name: build-and-test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- develop
|
|
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- develop
|
|
|
|
jobs:
|
|
build-and-test:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node: [14]
|
|
|
|
steps:
|
|
- name: TurboRepo local server
|
|
uses: felixmosh/turborepo-gh-artifacts@v1
|
|
with:
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
server-token: ${{ secrets.TURBO_SERVER_TOKEN }}
|
|
|
|
- name: Checkout 🛎
|
|
uses: actions/checkout@master
|
|
|
|
- name: Setup node env 🏗
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
check-latest: true
|
|
|
|
- uses: pnpm/action-setup@v2.0.1
|
|
name: Install pnpm
|
|
id: pnpm-install
|
|
with:
|
|
version: 7
|
|
run_install: false
|
|
|
|
- name: Get pnpm cache directory path 🛠
|
|
id: pnpm-cache-dir-path
|
|
run: echo "::set-output name=dir::$(pnpm cache dir)"
|
|
|
|
- name: Cache node_modules 📦
|
|
uses: actions/cache@v3
|
|
id: pnpm-cache # use this to check for `cache-hit` (`steps.pnpm-cache.outputs.cache-hit != 'true'`)
|
|
with:
|
|
path: ${{ steps.pnpm-cache-dir-path.outputs.dir }}
|
|
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pnpm-
|
|
|
|
- name: Install dependencies 👨🏻💻
|
|
run: pnpm install --no-frozen-lockfile
|
|
|
|
- name: Run linter 🧹
|
|
run: pnpm lint
|
|
|
|
- name: Build Library 👷
|
|
run: pnpm build --api="http://127.0.0.1:9080" --token="${{ secrets.TURBO_SERVER_TOKEN }}"
|
|
|
|
- name: Run tests 🧪
|
|
run: pnpm test
|