mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
ci: Also run MySQL and PG tests when modules have changes in repos or entities (#14170)
This commit is contained in:
1
.github/workflows/ci-postgres-mysql.yml
vendored
1
.github/workflows/ci-postgres-mysql.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/cli/src/databases/**
|
- packages/cli/src/databases/**
|
||||||
|
- packages/cli/src/modules/*/database/**
|
||||||
- .github/workflows/ci-postgres-mysql.yml
|
- .github/workflows/ci-postgres-mysql.yml
|
||||||
- .github/docker-compose.yml
|
- .github/docker-compose.yml
|
||||||
pull_request_review:
|
pull_request_review:
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ import { WorkflowEntity } from './workflow-entity';
|
|||||||
import { WorkflowHistory } from './workflow-history';
|
import { WorkflowHistory } from './workflow-history';
|
||||||
import { WorkflowStatistics } from './workflow-statistics';
|
import { WorkflowStatistics } from './workflow-statistics';
|
||||||
import { WorkflowTagMapping } from './workflow-tag-mapping';
|
import { WorkflowTagMapping } from './workflow-tag-mapping';
|
||||||
import { InsightsByPeriod } from '../../modules/insights/entities/insights-by-period';
|
import { InsightsByPeriod } from '../../modules/insights/database/entities/insights-by-period';
|
||||||
import { InsightsMetadata } from '../../modules/insights/entities/insights-metadata';
|
import { InsightsMetadata } from '../../modules/insights/database/entities/insights-metadata';
|
||||||
import { InsightsRaw } from '../../modules/insights/entities/insights-raw';
|
import { InsightsRaw } from '../../modules/insights/database/entities/insights-raw';
|
||||||
|
|
||||||
export const entities = {
|
export const entities = {
|
||||||
AnnotationTagEntity,
|
AnnotationTagEntity,
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ import { Container } from '@n8n/di';
|
|||||||
import { mockInstance } from '@test/mocking';
|
import { mockInstance } from '@test/mocking';
|
||||||
import * as testDb from '@test-integration/test-db';
|
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 { InsightsController } from '../insights.controller';
|
||||||
import { InsightsByPeriodRepository } from '../repositories/insights-by-period.repository';
|
|
||||||
|
|
||||||
// Initialize DB once for all tests
|
// Initialize DB once for all tests
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import type { ExecutionStatus, IRun, WorkflowExecuteMode } from 'n8n-workflow';
|
|||||||
import type { Project } from '@/databases/entities/project';
|
import type { Project } from '@/databases/entities/project';
|
||||||
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
|
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
|
||||||
import type { IWorkflowDb } from '@/interfaces';
|
import type { IWorkflowDb } from '@/interfaces';
|
||||||
import type { TypeUnit } from '@/modules/insights/entities/insights-shared';
|
import type { TypeUnit } from '@/modules/insights/database/entities/insights-shared';
|
||||||
import { InsightsMetadataRepository } from '@/modules/insights/repositories/insights-metadata.repository';
|
import { InsightsMetadataRepository } from '@/modules/insights/database/repositories/insights-metadata.repository';
|
||||||
import { InsightsRawRepository } from '@/modules/insights/repositories/insights-raw.repository';
|
import { InsightsRawRepository } from '@/modules/insights/database/repositories/insights-raw.repository';
|
||||||
import { createTeamProject } from '@test-integration/db/projects';
|
import { createTeamProject } from '@test-integration/db/projects';
|
||||||
import { createWorkflow } from '@test-integration/db/workflows';
|
import { createWorkflow } from '@test-integration/db/workflows';
|
||||||
import * as testDb from '@test-integration/test-db';
|
import * as testDb from '@test-integration/test-db';
|
||||||
@@ -19,9 +19,9 @@ import {
|
|||||||
createRawInsightsEvent,
|
createRawInsightsEvent,
|
||||||
createCompactedInsightsEvent,
|
createCompactedInsightsEvent,
|
||||||
createRawInsightsEvents,
|
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 { InsightsService } from '../insights.service';
|
||||||
import { InsightsByPeriodRepository } from '../repositories/insights-by-period.repository';
|
|
||||||
|
|
||||||
async function truncateAll() {
|
async function truncateAll() {
|
||||||
const insightsRawRepository = Container.get(InsightsRawRepository);
|
const insightsRawRepository = Container.get(InsightsRawRepository);
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import type { IWorkflowBase } from 'n8n-workflow';
|
|||||||
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
|
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
|
||||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
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 { InsightsByPeriodRepository } from '../../repositories/insights-by-period.repository';
|
||||||
import { InsightsMetadataRepository } from '../../repositories/insights-metadata.repository';
|
import { InsightsMetadataRepository } from '../../repositories/insights-metadata.repository';
|
||||||
import { InsightsRawRepository } from '../../repositories/insights-raw.repository';
|
import { InsightsRawRepository } from '../../repositories/insights-raw.repository';
|
||||||
import { InsightsByPeriod } from '../insights-by-period';
|
import { InsightsByPeriod } from '../insights-by-period';
|
||||||
|
import { InsightsMetadata } from '../insights-metadata';
|
||||||
|
import { InsightsRaw } from '../insights-raw';
|
||||||
|
|
||||||
async function getWorkflowSharing(workflow: IWorkflowBase) {
|
async function getWorkflowSharing(workflow: IWorkflowBase) {
|
||||||
return await Container.get(SharedWorkflowRepository).find({
|
return await Container.get(SharedWorkflowRepository).find({
|
||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
PeriodUnitToNumber,
|
PeriodUnitToNumber,
|
||||||
TypeToNumber,
|
TypeToNumber,
|
||||||
} from './insights-shared';
|
} from './insights-shared';
|
||||||
import { datetimeColumnType } from '../../../databases/entities/abstract-entity';
|
import { datetimeColumnType } from '../../../../databases/entities/abstract-entity';
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class InsightsByPeriod extends BaseEntity {
|
export class InsightsByPeriod extends BaseEntity {
|
||||||
@@ -4,7 +4,7 @@ import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from '@n8n/typeorm
|
|||||||
import { UnexpectedError } from 'n8n-workflow';
|
import { UnexpectedError } from 'n8n-workflow';
|
||||||
|
|
||||||
import { isValidTypeNumber, NumberToType, TypeToNumber } from './insights-shared';
|
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;
|
export const { type: dbType } = Container.get(GlobalConfig).database;
|
||||||
|
|
||||||
@@ -11,14 +11,14 @@ import {
|
|||||||
import { SharedWorkflow } from '@/databases/entities/shared-workflow';
|
import { SharedWorkflow } from '@/databases/entities/shared-workflow';
|
||||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||||
import { OnShutdown } from '@/decorators/on-shutdown';
|
import { OnShutdown } from '@/decorators/on-shutdown';
|
||||||
import { InsightsMetadata } from '@/modules/insights/entities/insights-metadata';
|
import { InsightsMetadata } from '@/modules/insights/database/entities/insights-metadata';
|
||||||
import { InsightsRaw } from '@/modules/insights/entities/insights-raw';
|
import { InsightsRaw } from '@/modules/insights/database/entities/insights-raw';
|
||||||
|
|
||||||
import type { TypeUnit } from './entities/insights-shared';
|
import type { TypeUnit } from './database/entities/insights-shared';
|
||||||
import { NumberToType } from './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 { InsightsConfig } from './insights.config';
|
||||||
import { InsightsByPeriodRepository } from './repositories/insights-by-period.repository';
|
|
||||||
import { InsightsRawRepository } from './repositories/insights-raw.repository';
|
|
||||||
|
|
||||||
const config = Container.get(InsightsConfig);
|
const config = Container.get(InsightsConfig);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user