Promote automation fixes to production (n8n multi-env deploy)#71
Merged
Conversation
…loy script workflows:deploy now tags every workflow with community-hub plus the environment tag (staging, or production when namespace=strapi) via PUT /workflows/:id/tags, creating any missing tag. Applied to the staging set. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t nodes Build Summary read the 'Wait for All Stages' merge output (which combines the two PATCH responses and has no stage/result keys), so its pick() returned null for both stages and every summary field came out null. Read the dependency + AI results directly from the Format Package Scan Result / Format AI Result nodes instead; the merge stays only to gate timing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…flows Re-link executeWorkflow/errorWorkflow references to the target's ids BEFORE the create/update (push referenced sub-workflows first, seed ids from existing) — n8n rejects publishing an active workflow whose executeWorkflow target isn't published, so the old relink-in-a-second-pass failed on re-deploys against active instances. Also scope the tag pass to the deployed workflows only, so pre-existing workflows on a shared instance aren't tagged/overwritten. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The email-template body is Strapi richtext (markdown), but render-email dropped it raw into the HTML shell, so **bold**, > blockquotes, and paragraph breaks showed as literal text. Add a markdown->HTML converter in 'Wrap In Branded Shell' (bold/italic/inline-code/blockquote/headings/paragraphs + bare-URL autolink), HTML-escaping first so interpolated reviewer feedback can't inject markup. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fix(automation): staging bring-up follow-ups (email rendering, scan summary, deploy robustness, tags)
…bber staging deploy-workflows.mjs matched existing workflows by name globally. With staging and production sharing one n8n instance and carrying identical workflow names, a production deploy would update the staging set in place instead of creating a separate set. Scope the create-vs-update decision to the environment tag (staging/production): a first deploy to a new environment creates a fresh set, and re-deploys update only that environment's set, leaving the other untouched. Document the tag-keying in the workflows README. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotes the automation workstream from
developto production (main). All changes are scoped toapps/automation/— no CMS/web/search code is touched.What's included (5 commits)
deploy-workflows.mjsnow decides create-vs-update by the environment tag (staging/production) instead of matching workflow names globally. Staging and production share one n8n instance with identical workflow names, so the old name-match would have updated the staging set in place on a production deploy. Now each set is independent: first deploy to a new env creates fresh, re-deploys touch only that env's set.executeWorkflow → render-emailandSettings → Error Workflow → error-handlerto the target instance's ids in dependency order, and scopes tagging to the workflows this run deployed.security-scansummary reads stage results from the Format nodes (not the merge output, which carried no stage/result keys).render-emailconverts the Strapi Blocks/markdown body to HTML before sending.Validation
Already exercised end-to-end against the live shared instance (
n8n.tools.strapi.team):community-hub+production), staging set verified untouched.render-email+error-handler); the 2 schedule workflows intentionally left inactive.🤖 Generated with Claude Code