-
Notifications
You must be signed in to change notification settings - Fork 9k
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
feat(core): Execution curation #10342
Conversation
# Conflicts: # packages/@n8n/permissions/src/types.ts # packages/cli/src/executions/execution.service.ts # packages/cli/src/executions/execution.types.ts # packages/editor-ui/src/components/MainHeader/WorkflowDetails.vue # packages/editor-ui/src/components/TagsDropdown.vue # packages/editor-ui/src/components/executions/workflow/WorkflowExecutionsCard.vue # packages/editor-ui/src/components/executions/workflow/WorkflowExecutionsList.vue # packages/editor-ui/src/stores/executions.store.ts
n8n Run #6703
Run Properties:
|
Project |
n8n
|
Branch Review |
ai-256-execution-curation-p0
|
Run status |
Passed #6703
|
Run duration | 04m 45s |
Commit |
1fe7ef4621: 🌳 🖥️ browsers:node18.12.0-chrome107 🤖 burivuhster 🗃️ e2e/*
|
Committer | Eugene Molodkin |
View all properties for this run ↗︎ |
Test results | |
---|---|
Failures |
0
|
Flaky |
1
|
Pending |
0
|
Skipped |
0
|
Passing |
422
|
View all changes introduced in this branch ↗︎ |
# Conflicts: # packages/cli/test/integration/execution.service.integration.test.ts
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.
Thanks for addressing my points, and great work in general! 👏
✅ All Cypress E2E specs passed |
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.
LGTM. Just one nit comment. Feel free to ignore as this has been open for quite some time already 👌
}); | ||
const executions = await this.createQueryBuilder('execution') | ||
.select('execution.id') | ||
.where('execution.id NOT IN ' + annotatedExecutionsSubQuery.getQuery()) |
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.
nit: Could move the .getQuery()
part to where this is defined and then here
.where('execution.id NOT IN ' + annotatedExecutionsSubQuery.getQuery()) | |
.where(`execution.id NOT IN (${annotatedExecutionsSubQuery})`) |
test('should not prune annotated executions', async () => { | ||
const executions = [ | ||
await createSuccessfulExecution(workflow), | ||
await createSuccessfulExecution(workflow), | ||
await createSuccessfulExecution(workflow), | ||
]; | ||
|
||
await annotateExecution(executions[0].id, { vote: 'up' }, [workflow.id]); | ||
|
||
await pruningService.softDeleteOnPruningCycle(); | ||
|
||
const result = await findAllExecutions(); | ||
expect(result).toEqual([ | ||
expect.objectContaining({ id: executions[0].id, deletedAt: null }), | ||
expect.objectContaining({ id: executions[1].id, deletedAt: expect.any(Date) }), | ||
expect.objectContaining({ id: executions[2].id, deletedAt: null }), | ||
]); | ||
}); |
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.
Thank you for adding tests 🙏
✅ All Cypress E2E specs passed |
* master: fix(core): Flush responses for ai streaming endpoints (#10633) fix: Re-enable infra provisioning and teardown (no-changelog) (#10636) feat(core): Execution curation (#10342) fix(Webhook Node): Add tests for utils (no-changelog) (#10613) fix: Fixes to cloud benchmarks (no-changelog) (#10634) test: Add JS CodeNode benchmark scenario (#10632) refactor(editor): Migrate `MainSidebar.vue` to composition API (no-changelog) (#10538) build: Fix `cli` nodemon config (#10628) docs: Add 'benchmark' scope to PR Title Conventions documentation (#10624) ci: Fixes to benchmarks in cloud (#10626) test(editor): Increase test coverage for users settings page and modal (#10623) fix(Wait Node): Append n8n attribution option (#10585) refactor(editor): Migrate `NodeSettings.vue` to composition API (#10545) fix(editor): Add pinned data only to manual executions in execution view (#10605) ci: Omit benchmark scope commits from changelog (no-changelog) (#10618) fix: Disable errors obfuscation (no-changelog) (#10617) ci: Fix script name in gh workflow (#10619) ci: Fix nightly image not being pushed to ghcr (#10620)
Got released with |
Summary
This PR introduces the execution annotation feature.
Here is an overview of the changes:
execution_annotations - annotation for executions
annotation_tag_entity - all annotation tags
execution_annotation_tags - connection between annotations and tags
Related Linear tickets, Github issues, and Community forum posts
https://linear.app/n8n/issue/AI-256/execution-curation-p0
Review / Merge checklist
release/backport
(if the PR is an urgent fix that needs to be backported)