ci(integrations): add CI/CD workflows for n8n + Zapier packages

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).
This commit is contained in:
Himanshu-Sangshetti
2026-07-20 11:55:29 +05:30
parent 00aa647f78
commit 98ae733f07
8 changed files with 238 additions and 4 deletions
+5 -4
View File
@@ -14,10 +14,11 @@ const authData = {
const userId = `zapier-e2e-${Date.now()}`;
describe('Mem0 Zapier integration (E2E)', () => {
beforeAll(() => {
if (!authData.apiKey) throw new Error('MEM0_API_KEY env var is required for E2E tests');
});
// The E2E suite hits the live Mem0 API, so it only runs when MEM0_API_KEY is
// set (locally / with a secret). In CI without a key it is skipped, not failed.
const describeE2E = authData.apiKey ? describe : describe.skip;
describeE2E('Mem0 Zapier integration (E2E)', () => {
it('authentication.test succeeds', async () => {
const res = await appTester(App.authentication.test, { authData });