-
Notifications
You must be signed in to change notification settings - Fork 50.8k
ci: Add v2 branching strategy infrastructure #22217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Claude finished @seemewalkin's task —— View job PR Review: v2 Branching Strategy InfrastructureReview Checklist:
🔍 Code Review FindingsOverall Assessment: This PR successfully implements the v2 branching strategy infrastructure. The code is well-structured and follows good practices. Here are my detailed findings: ✅ Strengths1. New classify-version.mjs Script (
2. Enhanced bump-versions.mjs (
3. v1.x CI Workflow (
4. Release Channel Validation (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5 issues found across 10 files
Prompt for AI agents (all 5 issues)
Understand the root cause of the following 5 issues and fix them.
<file name=".github/scripts/classify-version.mjs">
<violation number="1" location=".github/scripts/classify-version.mjs:76">
The CLI entrypoint check hardcodes ``file://${process.argv[1]}``, so the script never runs on Windows or paths with spaces because the path string doesn’t equal the percent-encoded file URL; convert both sides via `pathToFileURL`/`fileURLToPath` so direct execution is detected cross‑platform.</violation>
</file>
<file name=".github/workflows/release-push-to-channel.yml">
<violation number="1" location=".github/workflows/release-push-to-channel.yml:39">
Install the `.github/scripts` dependencies (or vendor `semver`) before invoking `classify-version.mjs`; as written the new validation step fails immediately because `semver` isn’t available on the runner, blocking every release channel push.</violation>
</file>
<file name="packages/@n8n/config/src/configs/generic.config.ts">
<violation number="1" location="packages/@n8n/config/src/configs/generic.config.ts:5">
releaseChannel schema now accepts an unsupported `'1'` value that the rest of the stack cannot interpret, so misconfigurations slip past validation and break release-channel checks.</violation>
</file>
<file name=".github/workflows/ci-v1.x.yml">
<violation number="1" location=".github/workflows/ci-v1.x.yml:42">
Without a job-level `if: failure()` (or similar) this notification job is skipped whenever one of its required jobs fails, so Slack never receives the failure alert.</violation>
<violation number="2" location=".github/workflows/ci-v1.x.yml:46">
`if: failure()` only becomes true when a previous step in the same job fails; since this is the first step, the condition is never met and Slack is never invoked. Let the step run unconditionally or evaluate the upstream job results instead.</violation>
</file>
Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR
| import { Config, Env } from '../decorators'; | ||
|
|
||
| const releaseChannelSchema = z.enum(['stable', 'beta', 'nightly', 'dev']); | ||
| const releaseChannelSchema = z.enum(['stable', 'beta', 'nightly', 'dev', '1']); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
releaseChannel schema now accepts an unsupported '1' value that the rest of the stack cannot interpret, so misconfigurations slip past validation and break release-channel checks.
Prompt for AI agents
Address the following comment on packages/@n8n/config/src/configs/generic.config.ts at line 5:
<comment>releaseChannel schema now accepts an unsupported `'1'` value that the rest of the stack cannot interpret, so misconfigurations slip past validation and break release-channel checks.</comment>
<file context>
@@ -2,7 +2,7 @@ import { z } from 'zod';
import { Config, Env } from '../decorators';
-const releaseChannelSchema = z.enum(['stable', 'beta', 'nightly', 'dev']);
+const releaseChannelSchema = z.enum(['stable', 'beta', 'nightly', 'dev', '1']);
type ReleaseChannel = z.infer<typeof releaseChannelSchema>;
</file context>
| const releaseChannelSchema = z.enum(['stable', 'beta', 'nightly', 'dev', '1']); | |
| const releaseChannelSchema = z.enum(['stable', 'beta', 'nightly', 'dev']); |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
BundleMonUnchanged files (2)
No change in files bundle size Groups updated (2)
Final result: ✅ View report in BundleMon website ➡️ |
|
E2E Tests: n8n tests passed after 9m 5.2s Run Details
Groups
This message was posted automatically by
currents.dev | Integration Settings
|
|
Claude finished @seemewalkin's task —— View job PR Status AnalysisTodo List:
📋 Current Status SummaryThis PR implements v2 branching strategy infrastructure and has received comprehensive testing and review. Here's the current state: ✅ Resolved IssuesMost of the issues identified by cubic-dev-ai have been addressed:
|
Summary
Implements infrastructure for v2 branching strategy to support:
Key Changes:
classify-version.mjsscript for semantic version parsingbump-versions.mjsReview / Merge checklist
release/backport(if the PR is an urgent fix that needs to be backported)