…lines 1–21 unchanged (21 lines)
22 ci: ${{ fromJSON(steps.ci-filter.outputs.results).ci == true }}
23 unit: ${{ fromJSON(steps.ci-filter.outputs.results).unit == true }}
24 e2e: ${{ fromJSON(steps.ci-filter.outputs.results).e2e == true }}
25 workflows: ${{ fromJSON(steps.ci-filter.outputs.results).workflows == true }}
26 db: ${{ fromJSON(steps.ci-filter.outputs.results).db == true }}
27 design_system: ${{ fromJSON(steps.ci-filter.outputs.results)['design-system'] == true }}
28 performance: ${{ fromJSON(steps.ci-filter.outputs.results).performance == true }}
29 commit_sha: ${{ steps.commit-sha.outputs.sha }}
30 steps:
31 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
32 with:
33 # Use merge_group SHA when in merge queue, otherwise PR merge ref
34 ref: ${{ github.event_name == 'merge_group' && github.event.merge_group.head_sha || format('refs/pull/{0}/merge', github.event.pull_request.number) }}
…lines 35–59 unchanged (25 lines)
60 workflows: .github/**
61 design-system:
62 packages/frontend/@n8n/design-system/**
63 packages/frontend/@n8n/chat/**
64 packages/frontend/@n8n/storybook/**
65 .github/workflows/test-visual-chromatic.yml
66 performance:
67 packages/testing/performance/**
68 packages/workflow/src/**
69 .github/workflows/test-bench-reusable.yml
70 db:
71 packages/cli/src/databases/**
72 packages/cli/src/modules/*/database/**
73 packages/cli/src/modules/**/*.entity.ts
74 packages/cli/src/modules/**/*.repository.ts
75 packages/cli/test/integration/**
76 packages/cli/test/migration/**
…lines 77–139 unchanged (63 lines)
140 needs: install-and-build
141 if: needs.install-and-build.outputs.db == 'true'
142 uses: ./.github/workflows/test-db-reusable.yml
143 with:
144 ref: ${{ needs.install-and-build.outputs.commit_sha }}
145
146 performance:
147 name: Performance
148 needs: install-and-build
149 if: needs.install-and-build.outputs.performance == 'true' && github.event_name != 'merge_group'
150 uses: ./.github/workflows/test-bench-reusable.yml
151 with:
152 ref: ${{ needs.install-and-build.outputs.commit_sha }}
153
154 security-checks:
155 name: Security Checks
156 needs: install-and-build
157 if: needs.install-and-build.outputs.workflows == 'true'
158 uses: ./.github/workflows/sec-ci-reusable.yml
…lines 159–169 unchanged (11 lines)
170 secrets: inherit
171
172 # This job is required by GitHub branch protection rules.
173 # PRs cannot be merged unless this job passes.
174 required-checks:
175 name: Required Checks
176 needs: [install-and-build, unit-test, typecheck, lint, e2e-tests, db-tests, performance, security-checks, chromatic]
177 if: always()
178 runs-on: ubuntu-slim
179 steps:
180 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
181 with:
182 sparse-checkout: .github/actions/ci-filter
…lines 183–189 unchanged (7 lines)