refactor(workflows): simplify workflow & use pnpm store

This commit is contained in:
Wing-Kam Wong
2023-08-28 11:59:01 +08:00
parent 7c3f157cd4
commit e37099369d
6 changed files with 48 additions and 88 deletions

View File

@@ -45,28 +45,20 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Cache node modules
uses: actions/cache@v3
env:
cache-name: cache-node-modules
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
# pnpm cache files are stored in `~/.pnpm` on Linux/macOS
path: ~/.pnpm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: install dependencies nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm install
- name: build nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm run build:main
${{ runner.os }}-pnpm-store-
- name: Install dependencies for packages
run: pnpm bootstrap
- name: Install dependencies
working-directory: ./packages/nocodb
run: pnpm install
- name: run unit tests
working-directory: ./packages/nocodb
run: pnpm run test:unit
@@ -87,19 +79,17 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Cache node modules
uses: actions/cache@v3
env:
cache-name: cache-node-modules
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
# pnpm cache files are stored in `~/.pnpm` on Linux/macOS
path: ~/.pnpm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
${{ runner.os }}-pnpm-store-
- name: Set CI env
run: export CI=true
- name: Set NC Edition
@@ -107,15 +97,8 @@ jobs:
- name: setup pg
working-directory: ./
run: docker-compose -f ./tests/playwright/scripts/docker-compose-playwright-pg.yml up -d &
- name: install dependencies nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm install
- name: build nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm run build:main
- name: Install dependencies
working-directory: ./packages/nocodb
run: pnpm install
- name: install dependencies
run: pnpm bootstrap
- name: run unit tests
working-directory: ./packages/nocodb
run: pnpm run test:unit:pg

View File

@@ -57,12 +57,8 @@ jobs:
run: export CI=true
- name: Set NC Edition
run: export EE=true
- name: install dependencies nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm install
- name: Build nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm run build
- name: install dependencies
run: pnpm bootstrap
- name: Setup mysql
if: ${{ inputs.db == 'mysql' }}
working-directory: ./packages/nocodb/tests/mysql-sakila-db
@@ -90,24 +86,20 @@ jobs:
if: ${{ inputs.db == 'sqlite' }}
working-directory: ./packages/nocodb
run: |
pnpm install
pnpm run watch:run:playwright &> ${{ inputs.db }}_${{ inputs.shard }}_test_backend.log &
- name: Run backend:mysql
if: ${{ inputs.db == 'mysql' }}
working-directory: ./packages/nocodb
run: |
pnpm install
pnpm run watch:run:playwright:mysql &> ${{ inputs.db }}_${{ inputs.shard }}_test_backend.log &
- name: Run backend:pg
if: ${{ inputs.db == 'pg' }}
working-directory: ./packages/nocodb
run: |
pnpm install
pnpm run watch:run:playwright:pg &> ${{ inputs.db }}_${{ inputs.shard }}_test_backend.log &
- name: Install dependencies
if: steps.playwright-cache.outputs.cache-hit != 'true'
working-directory: ./tests/playwright
run: pnpm install
- name: Install Playwright Browsers
working-directory: ./tests/playwright
run: pnpm exec playwright install --with-deps chromium

View File

@@ -22,19 +22,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache node modules
id: cache-npm
uses: actions/cache@v3
env:
cache-name: cache-node-modules
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
${{ runner.os }}-pnpm-store-
- name: Cache pkg modules
id: cache-pkg

View File

@@ -29,19 +29,17 @@ jobs:
with:
token: ${{ secrets.NC_GITHUB_TOKEN }}
repository: 'nocodb/nocodb-timely'
- name: Cache node modules
id: cache-pnpm
uses: actions/cache@v3
env:
cache-name: cache-node-modules
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
# pnpm cache files are stored in `~/.pnpm` on Linux/macOS
path: ~/.pnpm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
${{ runner.os }}-pnpm-store-
- name: Cache pkg modules
id: cache-pkg
uses: actions/cache@v3
@@ -68,7 +66,7 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 16
node-version: 18
- name: Update nocodb-timely
env:
@@ -86,7 +84,7 @@ jobs:
- name : Install dependencies and build executables
run: |
# install pnpm dependendencies
pnpm i
pnpm bootstrap
# Copy sqlite binaries
# rsync -rvzhP ./binaries/binding/ ./node_modules/sqlite3/lib/binding/

View File

@@ -20,7 +20,7 @@ jobs:
strategy:
matrix:
node-version: [16.x]
node-version: [18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
@@ -34,15 +34,8 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: install dependencies nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm install --frozen-lockfile
- name: build nocodb-sdk
working-directory: ./packages/nocodb-sdk
run: pnpm run build:main
- name: install dependencies nocodb
working-directory: ./packages/nocodb
run: pnpm install --frozen-lockfile
- name: install dependencies
run: pnpm bootstrap
- name: run unit tests
working-directory: ./packages/nocodb
run: pnpm run unit-test

View File

@@ -23,11 +23,7 @@ jobs:
fetch-depth: 0
- run: |
cd packages/nocodb
pnpm install --ignore-scripts nocodb-sdk
cd ../..
cd packages/nc-gui
pnpm install --ignore-scripts nocodb-sdk
pnpm bootstrap
- name: Create Pull Request
id: cpr