ci(workflows): add reusable pnpm workflow
This commit is contained in:
parent
fd79131067
commit
3ac6de0595
31
.github/workflows/ci-extraction-service.yml
vendored
31
.github/workflows/ci-extraction-service.yml
vendored
@ -22,29 +22,14 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
typescript:
|
typescript:
|
||||||
name: TypeScript (build + test)
|
name: TypeScript (build + test)
|
||||||
runs-on: ubuntu-latest
|
uses: ./.github/workflows/reusable-pnpm-workspace.yml
|
||||||
steps:
|
with:
|
||||||
- uses: actions/checkout@v4
|
node-version: '22'
|
||||||
|
pnpm-version: '10'
|
||||||
- uses: pnpm/action-setup@v4
|
command: |
|
||||||
with:
|
pnpm -r --filter @lysnrai/extraction-service... build
|
||||||
version: 10
|
pnpm --filter @lysnrai/extraction-service test
|
||||||
|
pnpm --filter @lysnrai/extraction-service exec tsc --noEmit
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 22
|
|
||||||
cache: pnpm
|
|
||||||
|
|
||||||
- run: pnpm install --frozen-lockfile
|
|
||||||
|
|
||||||
- name: Build packages + service
|
|
||||||
run: pnpm -r --filter @lysnrai/extraction-service... build
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: pnpm --filter @lysnrai/extraction-service test
|
|
||||||
|
|
||||||
- name: Type check
|
|
||||||
run: pnpm --filter @lysnrai/extraction-service exec tsc --noEmit
|
|
||||||
|
|
||||||
python:
|
python:
|
||||||
name: Python sidecar (lint + test)
|
name: Python sidecar (lint + test)
|
||||||
|
|||||||
43
.github/workflows/reusable-pnpm-workspace.yml
vendored
Normal file
43
.github/workflows/reusable-pnpm-workspace.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
name: Reusable — pnpm Workspace
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
node-version:
|
||||||
|
type: string
|
||||||
|
default: '20'
|
||||||
|
pnpm-version:
|
||||||
|
type: string
|
||||||
|
default: '10'
|
||||||
|
command:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
timeout-minutes:
|
||||||
|
type: number
|
||||||
|
default: 10
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run:
|
||||||
|
name: Run
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: ${{ inputs.timeout-minutes }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup pnpm
|
||||||
|
uses: pnpm/action-setup@v4
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.pnpm-version }}
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: ${{ inputs.node-version }}
|
||||||
|
cache: pnpm
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
- name: Run command
|
||||||
|
run: ${{ inputs.command }}
|
||||||
@ -21,6 +21,7 @@
|
|||||||
- 2026-02-15: Removed MindLyst KMP build verification from this non-mobile checklist (tracked in `docs/workstreams/MOBILE_WORKSTREAM_REMAINING.md`)
|
- 2026-02-15: Removed MindLyst KMP build verification from this non-mobile checklist (tracked in `docs/workstreams/MOBILE_WORKSTREAM_REMAINING.md`)
|
||||||
- 2026-02-15: Verified `extraction-service` Dockerfile build (`docker compose build extraction-service`)
|
- 2026-02-15: Verified `extraction-service` Dockerfile build (`docker compose build extraction-service`)
|
||||||
- 2026-02-15: Added Changesets (`.changeset/`) for versioning + changelog automation (**7.2**)
|
- 2026-02-15: Added Changesets (`.changeset/`) for versioning + changelog automation (**7.2**)
|
||||||
|
- 2026-02-15: Added reusable GitHub Actions workflow template (`.github/workflows/reusable-pnpm-workspace.yml`) (**7.3**)
|
||||||
|
|
||||||
## Prereqs (Local)
|
## Prereqs (Local)
|
||||||
|
|
||||||
@ -80,7 +81,7 @@ Publishing + repo hygiene
|
|||||||
|
|
||||||
- [ ] **7.1** Publish `@bytelyst/*` packages to GitHub Packages (private npm registry)
|
- [ ] **7.1** Publish `@bytelyst/*` packages to GitHub Packages (private npm registry)
|
||||||
- [x] **7.2** Add Changesets for automated version management and changelogs
|
- [x] **7.2** Add Changesets for automated version management and changelogs
|
||||||
- [ ] **7.3** Create reusable GitHub Actions workflow templates for service CI
|
- [x] **7.3** Create reusable GitHub Actions workflow templates for service CI
|
||||||
- [x] **7.4** Add `@bytelyst/blob` package (extract blob storage client + SAS generation)
|
- [x] **7.4** Add `@bytelyst/blob` package (extract blob storage client + SAS generation)
|
||||||
- [x] **7.5** Add `@bytelyst/monitoring` package (health check aggregator)
|
- [x] **7.5** Add `@bytelyst/monitoring` package (health check aggregator)
|
||||||
- [ ] **7.7** Evaluate Python shared package for `cosmos_client.py` + `blob_client.py` if MindLyst adds Python backend
|
- [ ] **7.7** Evaluate Python shared package for `cosmos_client.py` + `blob_client.py` if MindLyst adds Python backend
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user