Skip to content

chore: Migrate plugin workspace to pnpm #208

chore: Migrate plugin workspace to pnpm

chore: Migrate plugin workspace to pnpm #208

Workflow file for this run

# Build, Test, Lint & e2e pushes.
# TODO: use the .nvmrc for node versions
# https://github.com/actions/setup-node/issues/32
name: CI
on:
# support manual trigger of this workflow
workflow_dispatch:
# run this build action for all pushes to main
push:
branches: ['main']
# also run for pull requests that target main
pull_request:
branches:
- main
jobs:
setup:
runs-on: ubuntu-latest
env:
CI: true
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v3
with:
run_install: false
- run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
shell: bash
- uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
# # Setup steps
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}
# - name: Cache node modules
# id: cache-node-modules
# uses: actions/cache@v4
# with:
# path: node_modules
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
# - name: Install npm
# if: steps.cache-node-modules.outputs.cache-hit != 'true'
# run: npm ci
build:
needs: [setup]
runs-on: ubuntu-latest
env:
CI: true
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v3
with:
run_install: false
- run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
shell: bash
- uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
- run: pnpm run build
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}
# - name: Install dependencies
# run: pnpm install
# - name: Cache node modules
# id: cache-node-modules
# uses: actions/cache@v4
# with:
# path: node_modules
# key: ${{ runner.os }}-node-modules-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
# - name: Build
# run: npm run build
lint:
needs: [setup]
runs-on: ubuntu-latest
env:
CI: true
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v3
with:
run_install: false
- run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
shell: bash
- uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
- run: pnpm run lint
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}
# - name: Cache node modules
# id: cache-node-modules
# uses: actions/cache@v4
# with:
# path: node_modules
# key: ${{ runner.os }}-node-modules-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
# - name: Lint Affected Apps
# run: npm run lint
test:
needs: [setup]
runs-on: ubuntu-latest
env:
CI: true
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v3
with:
run_install: false
- run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
shell: bash
- uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
- run: pnpm run test
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}
# - name: Cache node modules
# id: cache-node-modules
# uses: actions/cache@v4
# with:
# path: node_modules
# key: ${{ runner.os }}-node-modules-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
# - run: npm run test
# e2e might be too much work todo for every push, lets see.
e2e:
needs: [setup]
runs-on: ubuntu-latest
env:
CI: true
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v3
with:
run_install: false
- run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
shell: bash
- uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
- run: pnpm run e2e
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}
# - name: Cache node modules
# id: cache-node-modules
# uses: actions/cache@v4
# with:
# path: node_modules
# key: ${{ runner.os }}-node-modules-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
# - run: npm run e2e