ci: Also run MySQL and PG tests when modules have changes in repos or entities (#14170)

This commit is contained in:
Danny Martini
2025-03-25 16:41:48 +01:00
committed by GitHub
parent f5f8abbbec
commit 7fb6eb1488
15 changed files with 21 additions and 20 deletions

View File

@@ -7,6 +7,7 @@ on:
pull_request:
paths:
- packages/cli/src/databases/**
- packages/cli/src/modules/*/database/**
- .github/workflows/ci-postgres-mysql.yml
- .github/docker-compose.yml
pull_request_review:

View File

@@ -33,9 +33,9 @@ import { WorkflowEntity } from './workflow-entity';
import { WorkflowHistory } from './workflow-history';
import { WorkflowStatistics } from './workflow-statistics';
import { WorkflowTagMapping } from './workflow-tag-mapping';
import { InsightsByPeriod } from '../../modules/insights/entities/insights-by-period';
import { InsightsMetadata } from '../../modules/insights/entities/insights-metadata';
import { InsightsRaw } from '../../modules/insights/entities/insights-raw';
import { InsightsByPeriod } from '../../modules/insights/database/entities/insights-by-period';
import { InsightsMetadata } from '../../modules/insights/database/entities/insights-metadata';
import { InsightsRaw } from '../../modules/insights/database/entities/insights-raw';
export const entities = {
AnnotationTagEntity,

View File

@@ -3,9 +3,9 @@ import { Container } from '@n8n/di';
import { mockInstance } from '@test/mocking';
import * as testDb from '@test-integration/test-db';
import { TypeToNumber } from '../entities/insights-shared';
import { TypeToNumber } from '../database/entities/insights-shared';
import { InsightsByPeriodRepository } from '../database/repositories/insights-by-period.repository';
import { InsightsController } from '../insights.controller';
import { InsightsByPeriodRepository } from '../repositories/insights-by-period.repository';
// Initialize DB once for all tests
beforeAll(async () => {

View File

@@ -7,9 +7,9 @@ import type { ExecutionStatus, IRun, WorkflowExecuteMode } from 'n8n-workflow';
import type { Project } from '@/databases/entities/project';
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
import type { IWorkflowDb } from '@/interfaces';
import type { TypeUnit } from '@/modules/insights/entities/insights-shared';
import { InsightsMetadataRepository } from '@/modules/insights/repositories/insights-metadata.repository';
import { InsightsRawRepository } from '@/modules/insights/repositories/insights-raw.repository';
import type { TypeUnit } from '@/modules/insights/database/entities/insights-shared';
import { InsightsMetadataRepository } from '@/modules/insights/database/repositories/insights-metadata.repository';
import { InsightsRawRepository } from '@/modules/insights/database/repositories/insights-raw.repository';
import { createTeamProject } from '@test-integration/db/projects';
import { createWorkflow } from '@test-integration/db/workflows';
import * as testDb from '@test-integration/test-db';
@@ -19,9 +19,9 @@ import {
createRawInsightsEvent,
createCompactedInsightsEvent,
createRawInsightsEvents,
} from '../entities/__tests__/db-utils';
} from '../database/entities/__tests__/db-utils';
import { InsightsByPeriodRepository } from '../database/repositories/insights-by-period.repository';
import { InsightsService } from '../insights.service';
import { InsightsByPeriodRepository } from '../repositories/insights-by-period.repository';
async function truncateAll() {
const insightsRawRepository = Container.get(InsightsRawRepository);

View File

@@ -5,12 +5,12 @@ import type { IWorkflowBase } from 'n8n-workflow';
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
import { InsightsMetadata } from '../../entities/insights-metadata';
import { InsightsRaw } from '../../entities/insights-raw';
import { InsightsByPeriodRepository } from '../../repositories/insights-by-period.repository';
import { InsightsMetadataRepository } from '../../repositories/insights-metadata.repository';
import { InsightsRawRepository } from '../../repositories/insights-raw.repository';
import { InsightsByPeriod } from '../insights-by-period';
import { InsightsMetadata } from '../insights-metadata';
import { InsightsRaw } from '../insights-raw';
async function getWorkflowSharing(workflow: IWorkflowBase) {
return await Container.get(SharedWorkflowRepository).find({

View File

@@ -10,7 +10,7 @@ import {
PeriodUnitToNumber,
TypeToNumber,
} from './insights-shared';
import { datetimeColumnType } from '../../../databases/entities/abstract-entity';
import { datetimeColumnType } from '../../../../databases/entities/abstract-entity';
@Entity()
export class InsightsByPeriod extends BaseEntity {

View File

@@ -4,7 +4,7 @@ import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from '@n8n/typeorm
import { UnexpectedError } from 'n8n-workflow';
import { isValidTypeNumber, NumberToType, TypeToNumber } from './insights-shared';
import { datetimeColumnType } from '../../../databases/entities/abstract-entity';
import { datetimeColumnType } from '../../../../databases/entities/abstract-entity';
export const { type: dbType } = Container.get(GlobalConfig).database;

View File

@@ -11,14 +11,14 @@ import {
import { SharedWorkflow } from '@/databases/entities/shared-workflow';
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
import { OnShutdown } from '@/decorators/on-shutdown';
import { InsightsMetadata } from '@/modules/insights/entities/insights-metadata';
import { InsightsRaw } from '@/modules/insights/entities/insights-raw';
import { InsightsMetadata } from '@/modules/insights/database/entities/insights-metadata';
import { InsightsRaw } from '@/modules/insights/database/entities/insights-raw';
import type { TypeUnit } from './entities/insights-shared';
import { NumberToType } from './entities/insights-shared';
import type { TypeUnit } from './database/entities/insights-shared';
import { NumberToType } from './database/entities/insights-shared';
import { InsightsByPeriodRepository } from './database/repositories/insights-by-period.repository';
import { InsightsRawRepository } from './database/repositories/insights-raw.repository';
import { InsightsConfig } from './insights.config';
import { InsightsByPeriodRepository } from './repositories/insights-by-period.repository';
import { InsightsRawRepository } from './repositories/insights-raw.repository';
const config = Container.get(InsightsConfig);