Remove the branch option and replace with just head-branch and base-branch

This commit is contained in:
Josh Dales
2023-01-28 22:30:05 -05:00
parent 2daf35ae4b
commit 231de6bc24
3 changed files with 38 additions and 18 deletions

View File

@@ -1,11 +1,11 @@
test-branch:
- branch: "^test/"
- head-branch: "^test/"
feature-branch:
- branch: "/feature/"
- head-branch: "/feature/"
bug-branch:
- branch: "^bug/|fix/"
- head-branch: "^bug/|fix/"
array-branch:
- branch: ["^array/"]
- head-branch: ["^array/"]

View File

@@ -3,6 +3,38 @@ import * as github from '@actions/github';
type BranchBase = 'base' | 'head';
export function toMatchConfigWithBranches(config: any) {
if (!config['head-branch'] || config['base-branch']) {
return config;
}
const branchConfig = {
headBranch: config['head-branch'],
baseBranch: config['base-branch']
};
if (branchConfig.headBranch) {
const patterns = branchConfig.headBranch;
if (typeof patterns === 'string') {
branchConfig.headBranch = [patterns];
}
}
if (branchConfig.baseBranch) {
const patterns = branchConfig.baseBranch;
if (typeof patterns === 'string') {
branchConfig.baseBranch = [patterns];
}
}
return {
...config,
['head-branch']: undefined,
['base-branch']: undefined,
...branchConfig
};
}
export function getBranchName(branchBase?: BranchBase): string | undefined {
const pullRequest = github.context.payload.pull_request;
if (!pullRequest) {

View File

@@ -3,12 +3,11 @@ import * as github from '@actions/github';
import * as yaml from 'js-yaml';
import {Minimatch, IMinimatch} from 'minimatch';
import {checkBranch} from './branch';
import {checkBranch, toMatchConfigWithBranches} from './branch';
interface MatchConfig {
all?: string[];
any?: string[];
branch?: string[];
headBranch?: string[];
baseBranch?: string[];
}
@@ -151,14 +150,9 @@ function toMatchConfig(config: StringOrMatchConfig): MatchConfig {
return {
any: [config]
};
} else if (typeof config.branch === 'string') {
return {
...config,
branch: [config.branch]
};
}
return config;
return toMatchConfigWithBranches(config);
}
function printPattern(matcher: IMinimatch): string {
@@ -236,12 +230,6 @@ function checkMatch(changedFiles: string[], matchConfig: MatchConfig): boolean {
}
}
if (matchConfig.branch !== undefined) {
if (!checkBranch(matchConfig.branch)) {
return false;
}
}
if (matchConfig.headBranch !== undefined) {
if (!checkBranch(matchConfig.headBranch, 'head')) {
return false;