Match the repo's per-integration CI/CD convention (vercel-ai / pi-agent pattern): - n8n-nodes-mem0-checks.yml (lint + build + dist verify) and n8n-nodes-mem0-cd.yml (npm publish --provenance via OIDC, dispatched by the release router on tag n8n-nodes-mem0-v*). - zapier-mem0-checks.yml (zapier validate) and zapier-mem0-cd.yml (manual zapier push; requires ZAPIER_DEPLOY_KEY). Zapier deploys to Zapier's platform, not npm, so it is not in the release router. - Wire both packages into ci-gate.yml (path filters + call jobs + gate). - Register the n8n tag prefix in release.yml and document it + the Zapier manual-deploy in AGENTS.md. - Skip the Zapier E2E suite when MEM0_API_KEY is absent so CI is green offline (it still runs locally with a key).
66 lines
2.0 KiB
YAML
66 lines
2.0 KiB
YAML
name: n8n-nodes-mem0 checks
|
|
|
|
# On PRs this is invoked by ci-gate.yml (the single required check);
|
|
# push-to-main and manual runs remain standalone.
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'integrations/n8n-nodes-mem0/**'
|
|
- '.github/workflows/n8n-nodes-mem0-checks.yml'
|
|
workflow_call:
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 9
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: 'pnpm'
|
|
cache-dependency-path: integrations/n8n-nodes-mem0/pnpm-lock.yaml
|
|
|
|
- name: Install dependencies
|
|
run: cd integrations/n8n-nodes-mem0 && pnpm install --frozen-lockfile
|
|
|
|
- name: Lint
|
|
run: cd integrations/n8n-nodes-mem0 && pnpm run lint
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 9
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: 'pnpm'
|
|
cache-dependency-path: integrations/n8n-nodes-mem0/pnpm-lock.yaml
|
|
|
|
- name: Install dependencies
|
|
run: cd integrations/n8n-nodes-mem0 && pnpm install --frozen-lockfile
|
|
|
|
- name: Build
|
|
run: cd integrations/n8n-nodes-mem0 && pnpm run build
|
|
|
|
- name: Verify dist output exists
|
|
run: |
|
|
test -f integrations/n8n-nodes-mem0/dist/nodes/Mem0/Mem0.node.js || (echo "Build output missing: dist/nodes/Mem0/Mem0.node.js" && exit 1)
|
|
test -f integrations/n8n-nodes-mem0/dist/credentials/Mem0Api.credentials.js || (echo "Build output missing: dist/credentials/Mem0Api.credentials.js" && exit 1)
|
|
test -f integrations/n8n-nodes-mem0/dist/nodes/Mem0/mem0.svg || (echo "Build output missing: dist/nodes/Mem0/mem0.svg" && exit 1)
|