renovate/lib/workers/common.ts
Sergei Zharinov 746d170824
feat(limits): Add "branchConcurrentLimit" option (#8046)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2021-01-10 13:29:14 +01:00

118 lines
2.9 KiB
TypeScript

import type { Merge } from 'type-fest';
import {
GroupConfig,
RenovateAdminConfig,
RenovateConfig,
RenovateSharedConfig,
ValidationMessage,
} from '../config';
import { Release } from '../datasource';
import {
ArtifactError,
LookupUpdate,
PackageDependency,
PackageFile,
} from '../manager/common';
import { PlatformPrOptions } from '../platform';
import { File } from '../util/git';
import { ChangeLogResult } from './pr/changelog/common';
export interface BranchUpgradeConfig
extends Merge<RenovateConfig, PackageDependency>,
Partial<LookupUpdate>,
RenovateSharedConfig {
artifactErrors?: ArtifactError[];
autoReplaceStringTemplate?: string;
baseDeps?: PackageDependency[];
branchName: string;
commitBody?: string;
commitMessage?: string;
commitMessageExtra?: string;
currentDigest?: string;
currentDigestShort?: string;
currentValue?: string;
currentVersion?: string;
endpoint?: string;
excludeCommitPaths?: string[];
githubName?: string;
group?: GroupConfig;
groupName?: string;
groupSlug?: string;
language?: string;
manager?: string;
packageFile?: string;
reuseExistingBranch?: boolean;
prHeader?: string;
prFooter?: string;
prBodyNotes?: string[];
prBodyTemplate?: string;
prPriority?: number;
prTitle?: string;
releases?: Release[];
releaseTimestamp?: string;
repoName?: string;
sourceDirectory?: string;
updatedPackageFiles?: File[];
updatedArtifacts?: File[];
logJSON?: ChangeLogResult;
homepage?: string;
changelogUrl?: string;
dependencyUrl?: string;
sourceUrl?: string;
}
export enum PrResult {
AwaitingApproval = 'AwaitingApproval',
AwaitingGreenBranch = 'AwaitingGreenBranch',
AwaitingNotPending = 'AwaitingNotPending',
BlockedByBranchAutomerge = 'BlockedByBranchAutomerge',
Created = 'Created',
Error = 'Error',
ErrorAlreadyExists = 'ErrorAlreadyExists',
NotUpdated = 'NotUpdated',
Updated = 'Updated',
LimitReached = 'LimitReached',
}
export enum ProcessBranchResult {
AlreadyExisted = 'already-existed',
Automerged = 'automerged',
Done = 'done',
Error = 'error',
NeedsApproval = 'needs-approval',
NeedsPrApproval = 'needs-pr-approval',
NotScheduled = 'not-scheduled',
NoWork = 'no-work',
Pending = 'pending',
PrCreated = 'pr-created',
PrEdited = 'pr-edited',
PrLimitReached = 'pr-limit-reached',
CommitLimitReached = 'commit-limit-reached',
BranchLimitReached = 'branch-limit-reached',
Rebase = 'rebase',
}
export interface BranchConfig
extends BranchUpgradeConfig,
RenovateAdminConfig,
PlatformPrOptions {
automergeComment?: string;
automergeType?: string;
baseBranch?: string;
errors?: ValidationMessage[];
hasTypes?: boolean;
dependencyDashboardChecks?: Record<string, string>;
releaseTimestamp?: string;
forceCommit?: boolean;
rebaseRequested?: boolean;
res?: ProcessBranchResult;
upgrades: BranchUpgradeConfig[];
packageFiles?: Record<string, PackageFile[]>;
}