Skip to content

Commit ea8305b

Browse files
authored
Merge pull request #17 from michmich112/develop
Release 1.0.6
2 parents 995f1df + 69b7b1b commit ea8305b

File tree

8 files changed

+65
-29
lines changed

8 files changed

+65
-29
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ interface BumpRule {
242242
/**
243243
* Action that triggers the bump to occur
244244
*/
245-
trigger: 'commit' | 'pull-request' | 'pr-comment' | 'manual',
245+
trigger: 'commit' | 'pull-request' | 'manual',
246246
247247
}
248248
```

dist/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,17 @@ function main() {
5454
try {
5555
let options = yield options_1.getBumperOptions();
5656
let state = yield options_1.getBumperState(options);
57+
if (state.curVersion === state.newVersion) {
58+
core.info('No bump rules applicable');
59+
return SUCCESS;
60+
}
5761
yield new Git_1.default().checkoutBranch(state.branch);
5862
yield bump(state);
5963
const GIT_OPTIONS = {
6064
userName: 'version-bumper',
6165
userEmail: '[email protected]',
6266
message: `Updated version ${state.curVersion} -> ${state.newVersion}.`,
63-
tag: { name: state.newVersion },
67+
tag: !state.tag ? { name: state.newVersion } : undefined,
6468
token: core.getInput('github-token'),
6569
branch: state.branch
6670
};

dist/rules/tests/isRuleApplicable.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe('[ RULE ] - isRuleApplicable', () => {
5050
const rule = {
5151
trigger: 'commit',
5252
};
53-
const trigger = 'pr-comment';
53+
const trigger = 'manual';
5454
const branch = 'randomBranch';
5555
expect(isRuleApplicable_1.default(rule, trigger, branch)).toBe(false);
5656
});

dist/utils/options.js

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
2828
});
2929
};
3030
Object.defineProperty(exports, "__esModule", { value: true });
31-
exports.getBumperState = exports.getTrigger = exports.normalizeFiles = exports.getFiles = exports.getBumperOptions = exports.getBranchFromRef = exports.getSchemeDefinition = exports.normalizeOptions = void 0;
31+
exports.getBumperState = exports.getTrigger = exports.normalizeFiles = exports.getFiles = exports.getBumperOptions = exports.getBranchFromTrigger = exports.getSchemeDefinition = exports.normalizeOptions = void 0;
3232
const definedSchemes = __importStar(require("../schemes.json"));
3333
const utils_1 = require("./utils");
3434
const core = __importStar(require("@actions/core"));
@@ -74,13 +74,28 @@ function getSchemeDefinition(options) {
7474
exports.getSchemeDefinition = getSchemeDefinition;
7575
/**
7676
* Get Branch name from reference
77-
* @param ref
77+
* Only tested with the GITHUB_REF env var
78+
* @param trigger
7879
*/
79-
function getBranchFromRef(ref) {
80-
const refPath = ref.split('/');
81-
return refPath[refPath.length - 1]; // last string in the ref is the branch name
80+
function getBranchFromTrigger(trigger) {
81+
var _a;
82+
let branch;
83+
switch (trigger) {
84+
case 'pull-request':
85+
branch = process.env.GITHUB_HEAD_REF || '';
86+
break;
87+
case 'commit':
88+
case 'manual':
89+
default:
90+
branch = ((_a = process.env.GITHUB_REF) === null || _a === void 0 ? void 0 : _a.substring('refs/heads/'.length)) || '';
91+
break;
92+
}
93+
core.info(`process.env.GITHUB_HEAD_REF: ${process.env.GITHUB_HEAD_REF}`);
94+
core.info(`process.env.GITHUB_REF: ${process.env.GITHUB_REF}`);
95+
core.info(`Current Branch identified: ${branch}`);
96+
return branch;
8297
}
83-
exports.getBranchFromRef = getBranchFromRef;
98+
exports.getBranchFromTrigger = getBranchFromTrigger;
8499
/**
85100
* Get all bumper options
86101
*/
@@ -226,12 +241,12 @@ function getTrigger() {
226241
return 'commit';
227242
case 'pull_request':
228243
return 'pull-request';
229-
case 'pull_request_review_comment':
230-
return 'pr-comment';
244+
// case 'pull_request_review_comment':
245+
// return 'pr-comment';
231246
case 'workflow_dispatch':
232247
return 'manual';
233248
default:
234-
console.warn("Event trigger not of type: commit, pull request or pr-comment.");
249+
console.warn("Event trigger not of type: commit, pull request or manual.");
235250
throw new Error("Invalid trigger event");
236251
}
237252
}
@@ -242,7 +257,7 @@ exports.getTrigger = getTrigger;
242257
*/
243258
function getBumperState(options) {
244259
return __awaiter(this, void 0, void 0, function* () {
245-
const branch = getBranchFromRef(process.env.GITHUB_REF || ''), schemeRegExp = utils_1.getSchemeRegex(options), schemeDefinition = getSchemeDefinition(options), curVersion = yield utils_1.getCurVersion(options), trigger = getTrigger(), tag = utils_1.getTag(options, trigger, branch), newVersion = yield utils_1.bumpVersion(options, trigger, branch), files = getFiles(options);
260+
const trigger = getTrigger(), branch = getBranchFromTrigger(trigger), schemeRegExp = utils_1.getSchemeRegex(options), schemeDefinition = getSchemeDefinition(options), curVersion = yield utils_1.getCurVersion(options), tag = utils_1.getTag(options, trigger, branch), newVersion = yield utils_1.bumpVersion(options, trigger, branch), files = getFiles(options);
246261
const state = {
247262
curVersion,
248263
newVersion,
@@ -253,7 +268,7 @@ function getBumperState(options) {
253268
branch,
254269
files
255270
};
256-
console.log(`State -> ${JSON.stringify(state)}`);
271+
core.info(`State -> ${JSON.stringify(state)}`);
257272
return state;
258273
});
259274
}

src/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,18 @@ async function main() {
2525

2626
let state: BumperState = await getBumperState(options);
2727

28+
if(state.curVersion === state.newVersion) {
29+
core.info('No bump rules applicable');
30+
return SUCCESS;
31+
}
2832
await new Git().checkoutBranch(state.branch);
2933
await bump(state);
3034

3135
const GIT_OPTIONS: CommitOptions = {
3236
userName: 'version-bumper',
3337
userEmail: '[email protected]',
3438
message: `Updated version ${state.curVersion} -> ${state.newVersion}.`,
35-
tag: { name: state.newVersion },
39+
tag: !state.tag ? { name: state.newVersion } : undefined,
3640
token: core.getInput('github-token'),
3741
branch: state.branch
3842
};

src/lib/types/OptionsFile.types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export interface BumpRule {
6868
* Comment that triggers the rule
6969
* Only used when the trigger is pr-comment
7070
*/
71-
comment?: string,
71+
// comment?: string,
7272

7373
/**
7474
* Allows the bumper to create a commit tag for the bump
@@ -103,7 +103,7 @@ export interface BumpRule {
103103
}
104104

105105
export type VersionScheme = 'custom' | any;
106-
export type RuleTrigger = 'commit' | 'pull-request' | 'pr-comment' | 'manual';
106+
export type RuleTrigger = 'commit' | 'pull-request' | 'manual'; //| 'pr-comment'
107107
export type VersionReleaseStatus = 'alpha' | 'beta' | 'release-candidate' | 'release';
108108
export type Seperators = '.' | ',' | ';' | ':' | '-' | '_' | '>' | '<';
109109
export const seperators: Seperators[] = ['.' , ',' , ';' , ':' , '-' , '_' , '>' , '<'];

src/rules/tests/isRuleApplicable.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe('[ RULE ] - isRuleApplicable', () => {
5151
const rule: BumpRule = {
5252
trigger: 'commit',
5353
};
54-
const trigger: RuleTrigger = 'pr-comment';
54+
const trigger: RuleTrigger = 'manual';
5555
const branch = 'randomBranch';
5656
expect(isRuleApplicable(rule, trigger, branch)).toBe(false);
5757
});

src/utils/options.ts

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import * as core from '@actions/core';
77
import * as github from '@actions/github';
88
import * as fs from "fs";
99

10-
1110
/**
1211
* Normalizes options by associating the scheme if user has selected a preset scheme
1312
* @param options
@@ -44,11 +43,25 @@ export function getSchemeDefinition(options: BumperOptionsFile): string {
4443

4544
/**
4645
* Get Branch name from reference
47-
* @param ref
46+
* Only tested with the GITHUB_REF env var
47+
* @param trigger
4848
*/
49-
export function getBranchFromRef(ref: string): string {
50-
const refPath = ref.split('/');
51-
return refPath[refPath.length - 1]; // last string in the ref is the branch name
49+
export function getBranchFromTrigger(trigger: RuleTrigger): string {
50+
let branch: string;
51+
switch (trigger) {
52+
case 'pull-request':
53+
branch = process.env.GITHUB_HEAD_REF || '';
54+
break;
55+
case 'commit':
56+
case 'manual':
57+
default:
58+
branch = process.env.GITHUB_REF?.substring('refs/heads/'.length) || '';
59+
break;
60+
}
61+
core.info(`process.env.GITHUB_HEAD_REF: ${process.env.GITHUB_HEAD_REF}`);
62+
core.info(`process.env.GITHUB_REF: ${process.env.GITHUB_REF}`);
63+
core.info(`Current Branch identified: ${branch}`);
64+
return branch;
5265
}
5366

5467
/**
@@ -188,12 +201,12 @@ export function getTrigger(): RuleTrigger {
188201
return 'commit';
189202
case 'pull_request':
190203
return 'pull-request';
191-
case 'pull_request_review_comment':
192-
return 'pr-comment';
204+
// case 'pull_request_review_comment':
205+
// return 'pr-comment';
193206
case 'workflow_dispatch':
194207
return 'manual';
195208
default:
196-
console.warn("Event trigger not of type: commit, pull request or pr-comment.");
209+
console.warn("Event trigger not of type: commit, pull request or manual.");
197210
throw new Error("Invalid trigger event");
198211
}
199212
}
@@ -203,11 +216,11 @@ export function getTrigger(): RuleTrigger {
203216
* @param options
204217
*/
205218
export async function getBumperState(options: BumperOptionsFile): Promise<BumperState> {
206-
const branch = getBranchFromRef(process.env.GITHUB_REF || ''),
219+
const trigger: RuleTrigger = getTrigger(),
220+
branch = getBranchFromTrigger(trigger),
207221
schemeRegExp = getSchemeRegex(options),
208222
schemeDefinition = getSchemeDefinition(options),
209223
curVersion = await getCurVersion(options),
210-
trigger: RuleTrigger = getTrigger(),
211224
tag: boolean = getTag(options, trigger, branch),
212225
newVersion = await bumpVersion(options, trigger, branch),
213226
files = getFiles(options);
@@ -221,6 +234,6 @@ export async function getBumperState(options: BumperOptionsFile): Promise<Bumper
221234
branch,
222235
files
223236
};
224-
console.log(`State -> ${JSON.stringify(state)}`);
237+
core.info(`State -> ${JSON.stringify(state)}`);
225238
return state;
226239
}

0 commit comments

Comments
 (0)