Adding branch reader and tests

pull/310/head
Frostebite 2021-12-29 18:15:23 +00:00
parent 8c09e24d75
commit 1cfac08875
7 changed files with 105 additions and 52 deletions

107
dist/index.js vendored
View File

@ -250,12 +250,12 @@ class BuildParameters {
androidSdkManagerParameters,
customParameters: input_1.default.customParameters,
sshAgent: input_1.default.sshAgent,
gitPrivateToken: input_1.default.gitPrivateToken,
gitPrivateToken: yield input_1.default.gitPrivateToken(),
chownFilesTo: input_1.default.chownFilesTo,
cloudRunnerCluster: input_1.default.cloudRunnerCluster,
awsBaseStackName: input_1.default.awsBaseStackName,
kubeConfig: input_1.default.kubeConfig,
githubToken: input_1.default.githubToken,
githubToken: yield input_1.default.githubToken(),
cloudRunnerMemory: input_1.default.cloudRunnerMemory,
cloudRunnerCpu: input_1.default.cloudRunnerCpu,
kubeVolumeSize: input_1.default.kubeVolumeSize,
@ -264,7 +264,7 @@ class BuildParameters {
preBuildSteps: input_1.default.preBuildSteps,
customBuildSteps: input_1.default.customBuildSteps,
runNumber: input_1.default.runNumber,
branch: input_1.default.branch,
branch: yield input_1.default.branch(),
githubRepo: input_1.default.githubRepo,
logToFile: false,
remoteBuildCluster: input_1.default.cloudRunnerCluster,
@ -3443,7 +3443,8 @@ class ActionYamlReader {
this.actionYamlParsed = yaml_1.default.parse(fs_1.default.readFileSync(`action.yml`).toString());
}
GetActionYamlValue(key) {
return this.actionYamlParsed.inputs[key];
var _a;
return ((_a = this.actionYamlParsed.inputs[key]) === null || _a === void 0 ? void 0 : _a.description) || 'No description found in action.yml';
}
}
exports.ActionYamlReader = ActionYamlReader;
@ -3495,16 +3496,37 @@ exports.GitRepoReader = GitRepoReader;
/***/ }),
/***/ 44990:
/***/ ((__unused_webpack_module, exports) => {
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.GithubCliReader = void 0;
const assert_1 = __importDefault(__webpack_require__(42357));
const system_1 = __importDefault(__webpack_require__(62177));
class GithubCliReader {
static GetGitHubAuthToken() {
// `gh auth status -t`
return '';
return __awaiter(this, void 0, void 0, function* () {
try {
assert_1.default(yield system_1.default.run(`gh -v`));
return yield system_1.default.run(`gh auth status -t`);
}
catch (_a) {
return false;
}
});
}
}
exports.GithubCliReader = GithubCliReader;
@ -3517,6 +3539,15 @@ exports.GithubCliReader = GithubCliReader;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
@ -3559,29 +3590,31 @@ class Input {
static get githubRepo() {
return Input.getInput('GITHUB_REPOSITORY') || git_repo_1.GitRepoReader.GetRemote() || 'game-ci/unity-builder';
}
static get branch() {
if (Input.getInput(`REMOTE_BUILDER_CACHE`)) {
return Input.getInput(`REMOTE_BUILDER_CACHE`);
}
else if (Input.getInput(`GITHUB_REF`)) {
return Input.getInput(`GITHUB_REF`)
.split('/')
.map((x) => {
x = x[0].toUpperCase() + x.slice(1);
return x;
})
.join('');
}
else if (Input.getInput('branch')) {
return Input.getInput('branch');
}
else if (github_cli_1.GithubCliReader.GetGitHubAuthToken()) {
return github_cli_1.GithubCliReader.GetGitHubAuthToken();
}
else {
return 'remote-builder/unified-providers';
}
//
static branch() {
return __awaiter(this, void 0, void 0, function* () {
if (Input.getInput(`REMOTE_BUILDER_CACHE`)) {
return Input.getInput(`REMOTE_BUILDER_CACHE`);
}
else if (Input.getInput(`GITHUB_REF`)) {
return Input.getInput(`GITHUB_REF`)
.split('/')
.map((x) => {
x = x[0].toUpperCase() + x.slice(1);
return x;
})
.join('');
}
else if (Input.getInput('branch')) {
return Input.getInput('branch');
}
else if (yield git_repo_1.GitRepoReader.GetBranch()) {
return yield git_repo_1.GitRepoReader.GetBranch();
}
else {
return 'remote-builder/unified-providers';
}
//
});
}
static get gitSha() {
if (Input.getInput(`GITHUB_SHA`)) {
@ -3660,8 +3693,15 @@ class Input {
static get sshAgent() {
return Input.getInput('sshAgent') || '';
}
static get gitPrivateToken() {
return core.getInput('gitPrivateToken') || github_cli_1.GithubCliReader.GetGitHubAuthToken() || '';
static githubToken() {
return __awaiter(this, void 0, void 0, function* () {
return Input.getInput('githubToken') || (yield github_cli_1.GithubCliReader.GetGitHubAuthToken()) || '';
});
}
static gitPrivateToken() {
return __awaiter(this, void 0, void 0, function* () {
return core.getInput('gitPrivateToken') || (yield github_cli_1.GithubCliReader.GetGitHubAuthToken()) || '';
});
}
static get chownFilesTo() {
return Input.getInput('chownFilesTo') || '';
@ -3684,9 +3724,6 @@ class Input {
static get kubeConfig() {
return Input.getInput('kubeConfig') || '';
}
static get githubToken() {
return Input.getInput('githubToken') || '';
}
static get cloudRunnerMemory() {
return Input.getInput('cloudRunnerMemory') || '750M';
}

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -79,12 +79,12 @@ class BuildParameters {
androidSdkManagerParameters,
customParameters: Input.customParameters,
sshAgent: Input.sshAgent,
gitPrivateToken: Input.gitPrivateToken,
gitPrivateToken: await Input.gitPrivateToken(),
chownFilesTo: Input.chownFilesTo,
cloudRunnerCluster: Input.cloudRunnerCluster,
awsBaseStackName: Input.awsBaseStackName,
kubeConfig: Input.kubeConfig,
githubToken: Input.githubToken,
githubToken: await Input.githubToken(),
cloudRunnerMemory: Input.cloudRunnerMemory,
cloudRunnerCpu: Input.cloudRunnerCpu,
kubeVolumeSize: Input.kubeVolumeSize,
@ -93,7 +93,7 @@ class BuildParameters {
preBuildSteps: Input.preBuildSteps,
customBuildSteps: Input.customBuildSteps,
runNumber: Input.runNumber,
branch: Input.branch,
branch: await Input.branch(),
githubRepo: Input.githubRepo,
logToFile: false,
remoteBuildCluster: Input.cloudRunnerCluster,

View File

@ -7,6 +7,6 @@ export class ActionYamlReader {
this.actionYamlParsed = YAML.parse(fs.readFileSync(`action.yml`).toString());
}
public GetActionYamlValue(key: string) {
return this.actionYamlParsed.inputs[key];
return this.actionYamlParsed.inputs[key]?.description || 'No description found in action.yml';
}
}

View File

@ -0,0 +1,9 @@
import { GithubCliReader } from './github-cli';
import * as core from '@actions/core';
describe(`github cli`, () => {
it(`returns`, async () => {
const token = await GithubCliReader.GetGitHubAuthToken();
core.info(token);
});
});

View File

@ -1,6 +1,13 @@
import assert from 'assert';
import System from '../system';
export class GithubCliReader {
static GetGitHubAuthToken() {
// `gh auth status -t`
return '';
static async GetGitHubAuthToken() {
try {
assert(await System.run(`gh -v`));
return await System.run(`gh auth status -t`);
} catch {
return false;
}
}
}

View File

@ -44,7 +44,7 @@ class Input {
static get githubRepo(): string {
return Input.getInput('GITHUB_REPOSITORY') || GitRepoReader.GetRemote() || 'game-ci/unity-builder';
}
static get branch() {
static async branch() {
if (Input.getInput(`REMOTE_BUILDER_CACHE`)) {
return Input.getInput(`REMOTE_BUILDER_CACHE`);
} else if (Input.getInput(`GITHUB_REF`)) {
@ -57,8 +57,8 @@ class Input {
.join('');
} else if (Input.getInput('branch')) {
return Input.getInput('branch');
} else if (GithubCliReader.GetGitHubAuthToken()) {
return GithubCliReader.GetGitHubAuthToken();
} else if (await GitRepoReader.GetBranch()) {
return await GitRepoReader.GetBranch();
} else {
return 'remote-builder/unified-providers';
}
@ -163,8 +163,12 @@ class Input {
return Input.getInput('sshAgent') || '';
}
static get gitPrivateToken() {
return core.getInput('gitPrivateToken') || GithubCliReader.GetGitHubAuthToken() || '';
static async githubToken() {
return Input.getInput('githubToken') || (await GithubCliReader.GetGitHubAuthToken()) || '';
}
static async gitPrivateToken() {
return core.getInput('gitPrivateToken') || (await GithubCliReader.GetGitHubAuthToken()) || '';
}
static get chownFilesTo() {
@ -195,10 +199,6 @@ class Input {
return Input.getInput('kubeConfig') || '';
}
static get githubToken() {
return Input.getInput('githubToken') || '';
}
static get cloudRunnerMemory() {
return Input.getInput('cloudRunnerMemory') || '750M';
}