Skip to content

feature: add monorepo tooling to minimize maintenance #330

feature: add monorepo tooling to minimize maintenance

feature: add monorepo tooling to minimize maintenance #330

Workflow file for this run

name: Packages
concurrency:
group: packages-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/packages.yml
- packages/**
- .eslint*
- .prettier*
- yarn.lock
push:
branches: [main]
paths:
- .github/workflows/packages.yml
- packages/**
- .eslint*
- .prettier*
- yarn.lock
jobs:
review:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package:
- snack-babel-standalone
- snack-content
- snack-eslint-standalone
- snack-proxies
- snack-require-context
- snack-runtime
- snack-sdk
- snack-term
include:
- package: snack-babel-standalone
local-install: true
- package: snack-eslint-standalone
local-install: true
- package: snack-runtime
local-install: true
steps:
- name: πŸ— Setup repository
uses: actions/checkout@v3
- name: πŸ— Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: yarn
- name: πŸ“¦ Install monorepo dependencies
run: yarn install --frozen-lockfile
# When decoupled from the monorepo, make sure to install the local packages
- name: πŸ“¦ Install local dependencies
if: ${{ matrix.local-install }}
run: yarn install --frozen-lockfile
working-directory: packages/${{ matrix.package }}
- name: πŸ›  Build core packages
run: yarn build
- name: 🚨 Lint package
run: yarn lint --max-warnings 0
working-directory: packages/${{ matrix.package }}
- name: πŸ§ͺ Test package
run: yarn test --ci --maxWorkers 1
working-directory: packages/${{ matrix.package }}
- name: πŸ›  Build package
run: yarn build
working-directory: packages/${{ matrix.package }}