prepare the execute part

This commit is contained in:
Artur Stolear
2019-11-22 15:43:19 +02:00
parent 55452e96e3
commit f78d4bc5ba
8 changed files with 110 additions and 16 deletions

View File

@@ -7613,10 +7613,9 @@ const buildAgent = ioc_1.ioc.get(types_1.TYPES.IBuildAgent);
function run() {
return __awaiter(this, void 0, void 0, function* () {
try {
const version = "5.1.2";
const includePrerelease = false;
buildAgent.exportVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1");
yield gitVersionTool.install(version, includePrerelease);
const inputOptions = getGitVersionOptions();
yield gitVersionTool.run(inputOptions);
buildAgent.setSucceeded("GitVersion installed successfully", true);
}
catch (error) {
@@ -7625,8 +7624,24 @@ function run() {
});
}
exports.run = run;
function getGitVersionOptions() {
const targetPath = buildAgent.getInput(types_1.RunOptions.targetPath);
const useConfigFile = buildAgent.getBooleanInput(types_1.RunOptions.useConfigFile);
const configFilePath = buildAgent.getInput(types_1.RunOptions.configFilePath);
const updateAssemblyInfo = buildAgent.getBooleanInput(types_1.RunOptions.updateAssemblyInfo);
const updateAssemblyInfoFilename = buildAgent.getInput(types_1.RunOptions.updateAssemblyInfoFilename);
const additionalArguments = buildAgent.getInput(types_1.RunOptions.additionalArguments);
return {
targetPath,
useConfigFile,
configFilePath,
updateAssemblyInfo,
updateAssemblyInfoFilename,
additionalArguments,
};
}
run();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovUHJvamVjdHMvT1NTL0dpdFRvb2xzL3VzZS1naXR2ZXJzaW9uL3NyYy9naXRodWIvZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLDRCQUEwQjtBQUcxQixvQ0FBaUM7QUFDakMsK0JBQTRCO0FBRTVCLE1BQU0sY0FBYyxHQUFHLFNBQUcsQ0FBQyxHQUFHLENBQWtCLGFBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN2RSxNQUFNLFVBQVUsR0FBRyxTQUFHLENBQUMsR0FBRyxDQUFjLGFBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUUzRCxTQUFzQixHQUFHOztRQUNyQixJQUFJO1lBRUEsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBRWhDLFVBQVUsQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUQsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBRXpELFVBQVUsQ0FBQyxZQUFZLENBQUMsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7Q0FBQTtBQWJELGtCQWFDO0FBRUQsR0FBRyxFQUFFLENBQUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovUHJvamVjdHMvT1NTL0dpdFRvb2xzL3VzZS1naXR2ZXJzaW9uL3NyYy9naXRodWIvZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLDRCQUEwQjtBQUcxQixvQ0FBNkM7QUFDN0MsK0JBQTRCO0FBRTVCLE1BQU0sY0FBYyxHQUFHLFNBQUcsQ0FBQyxHQUFHLENBQWtCLGFBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN2RSxNQUFNLFVBQVUsR0FBRyxTQUFHLENBQUMsR0FBRyxDQUFjLGFBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUUzRCxTQUFzQixHQUFHOztRQUNyQixJQUFJO1lBRUEsVUFBVSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUU5RCxNQUFNLFlBQVksR0FBdUIsb0JBQW9CLEVBQUUsQ0FBQztZQUVoRSxNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdkMsVUFBVSxDQUFDLFlBQVksQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN0RTtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztDQUFBO0FBYkQsa0JBYUM7QUFFRCxTQUFTLG9CQUFvQjtJQUV6QixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxrQkFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsa0JBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV0RSxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsa0JBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sMEJBQTBCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxrQkFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFOUYsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUVoRixPQUFPO1FBQ0gsVUFBVTtRQUNWLGFBQWE7UUFDYixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixtQkFBbUI7S0FDdEIsQ0FBQztBQUNOLENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyJ9
/***/ }),

34
execute/action.yml Normal file
View File

@@ -0,0 +1,34 @@
name: execute
description: GitHub Action for Easy Semantic Versioning with GitVersion. Execute GitVersion to obtain version information
author: GitTools
branding:
color: gray-dark
icon: git-pull-request
inputs:
targetPath:
description: Optionally supply the path to the working directory
required: false
default: ''
useConfigFile:
description: Whether to use a custom configuration file
required: false
default: 'false'
configFilePath:
description: Optional path to config file (defaults to GitVersion.yml)
required: false
default: ''
updateAssemblyInfo:
description: Whether to update versions in the AssemblyInfo files
required: false
default: 'false'
updateAssemblyInfoFilename:
description: Update versions in specified file
required: false
default: ''
updateAssemblyInfoFilename:
description: Additional arguments to send to GitVersion
required: false
default: ''
runs:
using: node12
main: ../dist/github/execute/index.js

View File

@@ -6,7 +6,7 @@ branding:
icon: git-pull-request
inputs:
versionSpec:
description: Required version in the form of 5.x or exact version like 5.0.0'
description: Required version in the form of 5.x or exact version like 5.0.0
required: true
default: ''
includePrerelease:

View File

@@ -7,7 +7,7 @@ import * as http from "typed-rest-client/HttpClient";
import { inject, injectable } from "inversify";
import { Argument, IBuildAgent, IDotnetTool, IExecResult, IGitVersionTool, IVersionManager } from "./interfaces";
import { Argument, IBuildAgent, IDotnetTool, IExecResult, IGitVersionOptions, IGitVersionTool, IVersionManager } from "./interfaces";
import { TYPES } from "./types";
@injectable()
@@ -157,7 +157,8 @@ class GitVersionTool implements IGitVersionTool {
const toolPath = await this.dotnetTool.toolInstall("GitVersion.Tool", versionSpec, false, includePrerelease);
}
public run(...params: Argument[]): Promise<IExecResult> {
public run(options: IGitVersionOptions): Promise<IExecResult> {
console.log(options);
return;
}
}

View File

@@ -1,7 +1,7 @@
import "reflect-metadata";
import { IBuildAgent, IGitVersionTool } from "../interfaces";
import { TYPES } from "../types";
import { IBuildAgent, IGitVersionOptions, IGitVersionTool } from "../interfaces";
import { RunOptions, TYPES } from "../types";
import { ioc } from "./ioc";
const gitVersionTool = ioc.get<IGitVersionTool>(TYPES.IGitVersionTool);
@@ -10,11 +10,11 @@ const buildAgent = ioc.get<IBuildAgent>(TYPES.IBuildAgent);
export async function run() {
try {
const version = "5.1.2";
const includePrerelease = false;
buildAgent.exportVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1");
await gitVersionTool.install(version, includePrerelease);
const inputOptions: IGitVersionOptions = getGitVersionOptions();
await gitVersionTool.run(inputOptions);
buildAgent.setSucceeded("GitVersion installed successfully", true);
} catch (error) {
@@ -22,4 +22,26 @@ export async function run() {
}
}
function getGitVersionOptions(): IGitVersionOptions {
const targetPath = buildAgent.getInput(RunOptions.targetPath);
const useConfigFile = buildAgent.getBooleanInput(RunOptions.useConfigFile);
const configFilePath = buildAgent.getInput(RunOptions.configFilePath);
const updateAssemblyInfo = buildAgent.getBooleanInput(RunOptions.updateAssemblyInfo);
const updateAssemblyInfoFilename = buildAgent.getInput(RunOptions.updateAssemblyInfoFilename);
const additionalArguments = buildAgent.getInput(RunOptions.additionalArguments);
return {
targetPath,
useConfigFile,
configFilePath,
updateAssemblyInfo,
updateAssemblyInfoFilename,
additionalArguments,
};
}
run();

View File

@@ -32,7 +32,7 @@ export class Argument {
}
export interface IGitVersionTool {
install: (versionSpec: string, includePrerelease: boolean) => Promise<void>;
run: (...params: Argument[]) => Promise<IExecResult>;
run: (options: IGitVersionOptions) => Promise<IExecResult>;
}
export interface IExecResult {
stdout: string;
@@ -40,3 +40,12 @@ export interface IExecResult {
code: number;
error: Error;
}
export interface IGitVersionOptions {
targetPath: string;
useConfigFile: boolean;
configFilePath: string;
updateAssemblyInfo: boolean;
updateAssemblyInfoFilename: string;
additionalArguments: string;
}

View File

@@ -10,4 +10,16 @@ const SetupOptions = {
versionSpec: "versionSpec",
};
export { SetupOptions, TYPES };
const RunOptions = {
targetPath: "targetPath",
useConfigFile: "useConfigFile",
configFilePath: "configFilePath",
updateAssemblyInfo: "configFilePath",
updateAssemblyInfoFilename: "configFilePath",
additionalArguments: "additionalArguments",
};
export { SetupOptions, RunOptions, TYPES };

View File

@@ -7,7 +7,8 @@
"rules": {
"max-classes-per-file":false,
"no-console":false,
"no-var-requires":false
"no-var-requires":false,
"object-literal-sort-keys":false
},
"rulesDirectory": []
}