test checks
parent
2374bf273a
commit
3f2ccc00e8
|
|
@ -127,6 +127,7 @@ jobs:
|
||||||
targetPlatform: ${{ matrix.targetPlatform }}
|
targetPlatform: ${{ matrix.targetPlatform }}
|
||||||
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
||||||
customStepFiles: aws-s3-upload-build,aws-s3-pull-cache,aws-s3-upload-cache
|
customStepFiles: aws-s3-upload-build,aws-s3-pull-cache,aws-s3-upload-cache
|
||||||
|
githubChecks: true
|
||||||
- run: |
|
- run: |
|
||||||
aws s3 cp s3://game-ci-test-storage/cloud-runner-cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4 build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4
|
aws s3 cp s3://game-ci-test-storage/cloud-runner-cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4 build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4
|
||||||
ls
|
ls
|
||||||
|
|
|
||||||
|
|
@ -719,7 +719,10 @@ class CloudRunnerOptions {
|
||||||
// GitHub parameters
|
// GitHub parameters
|
||||||
// ### ### ###
|
// ### ### ###
|
||||||
static get githubChecksEnabled() {
|
static get githubChecksEnabled() {
|
||||||
return CloudRunnerOptions.getInput('githubChecksEnabled') || false;
|
return CloudRunnerOptions.getInput('githubChecks') || false;
|
||||||
|
}
|
||||||
|
static get githubOwner() {
|
||||||
|
return CloudRunnerOptions.githubRepo.split(`/`)[1] || false;
|
||||||
}
|
}
|
||||||
// ### ### ###
|
// ### ### ###
|
||||||
// Git syncronization parameters
|
// Git syncronization parameters
|
||||||
|
|
@ -979,6 +982,7 @@ const local_1 = __importDefault(__nccwpck_require__(66575));
|
||||||
const docker_1 = __importDefault(__nccwpck_require__(42802));
|
const docker_1 = __importDefault(__nccwpck_require__(42802));
|
||||||
const github_1 = __importDefault(__nccwpck_require__(83654));
|
const github_1 = __importDefault(__nccwpck_require__(83654));
|
||||||
const shared_workspace_locking_1 = __importDefault(__nccwpck_require__(87562));
|
const shared_workspace_locking_1 = __importDefault(__nccwpck_require__(87562));
|
||||||
|
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
|
||||||
class CloudRunner {
|
class CloudRunner {
|
||||||
static setup(buildParameters) {
|
static setup(buildParameters) {
|
||||||
cloud_runner_logger_1.default.setup();
|
cloud_runner_logger_1.default.setup();
|
||||||
|
|
@ -1024,6 +1028,9 @@ class CloudRunner {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
CloudRunner.setup(buildParameters);
|
CloudRunner.setup(buildParameters);
|
||||||
try {
|
try {
|
||||||
|
if (cloud_runner_options_1.default.githubChecksEnabled) {
|
||||||
|
github_1.default.createGitHubCheck(cloud_runner_options_1.default.githubOwner, buildParameters.githubRepo, buildParameters.gitPrivateToken, 'test-check-name', buildParameters.gitSha, 'A check test', buildParameters.buildGuid);
|
||||||
|
}
|
||||||
if (buildParameters.retainWorkspace) {
|
if (buildParameters.retainWorkspace) {
|
||||||
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
||||||
const result = yield shared_workspace_locking_1.default.GetOrCreateLockedWorkspace(CloudRunner.lockedWorkspace, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
|
const result = yield shared_workspace_locking_1.default.GetOrCreateLockedWorkspace(CloudRunner.lockedWorkspace, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
|
||||||
|
|
@ -6063,17 +6070,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
const core_1 = __nccwpck_require__(76762);
|
const core_1 = __nccwpck_require__(76762);
|
||||||
class GitHub {
|
class GitHub {
|
||||||
static updateGitHubCheck() {
|
static updateGitHubCheck(owner, repo, token, name, sha, nameReadable, summary, longDescription) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const octokit = new core_1.Octokit({
|
const octokit = new core_1.Octokit({
|
||||||
auth: 'YOUR-TOKEN',
|
auth: token,
|
||||||
});
|
});
|
||||||
const data = {
|
const data = {
|
||||||
owner: 'OWNER',
|
owner,
|
||||||
repo: 'REPO',
|
repo,
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
check_run_id: 0,
|
check_run_id: 0,
|
||||||
name: 'mighty_readme',
|
name,
|
||||||
|
// eslint-disable-next-line camelcase
|
||||||
|
head_sha: sha,
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
started_at: '2018-05-04T01:14:52Z',
|
started_at: '2018-05-04T01:14:52Z',
|
||||||
status: `completed`,
|
status: `completed`,
|
||||||
|
|
@ -6081,37 +6090,10 @@ class GitHub {
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
completed_at: '2018-05-04T01:14:52Z',
|
completed_at: '2018-05-04T01:14:52Z',
|
||||||
output: {
|
output: {
|
||||||
title: 'Mighty Readme report',
|
title: nameReadable,
|
||||||
summary: 'There are 0 failures, 2 warnings, and 1 notices.',
|
summary,
|
||||||
text: 'You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.',
|
text: longDescription,
|
||||||
annotations: [
|
annotations: [],
|
||||||
{
|
|
||||||
path: 'README.md',
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
annotation_level: 'warning',
|
|
||||||
title: 'Spell Checker',
|
|
||||||
message: "Check your spelling for 'banaas'.",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
raw_details: "Do you mean 'bananas' or 'banana'?",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
start_line: 2,
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
end_line: 2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'README.md',
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
annotation_level: 'warning',
|
|
||||||
title: 'Spell Checker',
|
|
||||||
message: "Check your spelling for 'aples'",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
raw_details: "Do you mean 'apples' or 'Naples'",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
start_line: 4,
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
end_line: 4,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
images: [
|
images: [
|
||||||
{
|
{
|
||||||
alt: 'Super bananas',
|
alt: 'Super bananas',
|
||||||
|
|
@ -6124,26 +6106,26 @@ class GitHub {
|
||||||
yield octokit.request('PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}', data);
|
yield octokit.request('PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}', data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static createGitHubCheck() {
|
static createGitHubCheck(owner, repo, token, name, sha, nameReadable, summary) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
// call github api to create a check
|
// call github api to create a check
|
||||||
const octokit = new core_1.Octokit({
|
const octokit = new core_1.Octokit({
|
||||||
auth: 'YOUR-TOKEN',
|
auth: token,
|
||||||
});
|
});
|
||||||
yield octokit.request('POST /repos/{owner}/{repo}/check-runs', {
|
yield octokit.request(`POST /repos/${owner}/${repo}/check-runs`, {
|
||||||
owner: 'OWNER',
|
owner,
|
||||||
repo: 'REPO',
|
repo,
|
||||||
name: 'mighty_readme',
|
name,
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
head_sha: 'ce587453ced02b1526dfb4cb910479d431683101',
|
head_sha: sha,
|
||||||
status: 'in_progress',
|
status: 'in_progress',
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
external_id: '42',
|
external_id: '42',
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
started_at: '2018-05-04T01:14:52Z',
|
started_at: '2018-05-04T01:14:52Z',
|
||||||
output: {
|
output: {
|
||||||
title: 'Mighty Readme report',
|
title: nameReadable,
|
||||||
summary: '',
|
summary,
|
||||||
text: '',
|
text: '',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -60,7 +60,11 @@ class CloudRunnerOptions {
|
||||||
// GitHub parameters
|
// GitHub parameters
|
||||||
// ### ### ###
|
// ### ### ###
|
||||||
static get githubChecksEnabled() {
|
static get githubChecksEnabled() {
|
||||||
return CloudRunnerOptions.getInput('githubChecksEnabled') || false;
|
return CloudRunnerOptions.getInput('githubChecks') || false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static get githubOwner() {
|
||||||
|
return CloudRunnerOptions.githubRepo.split(`/`)[1] || false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ### ### ###
|
// ### ### ###
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import LocalCloudRunner from './providers/local';
|
||||||
import LocalDockerCloudRunner from './providers/docker';
|
import LocalDockerCloudRunner from './providers/docker';
|
||||||
import GitHub from '../github';
|
import GitHub from '../github';
|
||||||
import SharedWorkspaceLocking from './services/shared-workspace-locking';
|
import SharedWorkspaceLocking from './services/shared-workspace-locking';
|
||||||
|
import CloudRunnerOptions from './cloud-runner-options';
|
||||||
|
|
||||||
class CloudRunner {
|
class CloudRunner {
|
||||||
public static Provider: ProviderInterface;
|
public static Provider: ProviderInterface;
|
||||||
|
|
@ -68,6 +69,17 @@ class CloudRunner {
|
||||||
static async run(buildParameters: BuildParameters, baseImage: string) {
|
static async run(buildParameters: BuildParameters, baseImage: string) {
|
||||||
CloudRunner.setup(buildParameters);
|
CloudRunner.setup(buildParameters);
|
||||||
try {
|
try {
|
||||||
|
if (CloudRunnerOptions.githubChecksEnabled) {
|
||||||
|
GitHub.createGitHubCheck(
|
||||||
|
CloudRunnerOptions.githubOwner,
|
||||||
|
buildParameters.githubRepo,
|
||||||
|
buildParameters.gitPrivateToken,
|
||||||
|
'test-check-name',
|
||||||
|
buildParameters.gitSha,
|
||||||
|
'A check test',
|
||||||
|
buildParameters.buildGuid,
|
||||||
|
);
|
||||||
|
}
|
||||||
if (buildParameters.retainWorkspace) {
|
if (buildParameters.retainWorkspace) {
|
||||||
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,17 +3,19 @@ import { Octokit } from '@octokit/core';
|
||||||
class GitHub {
|
class GitHub {
|
||||||
public static githubInputEnabled: boolean = true;
|
public static githubInputEnabled: boolean = true;
|
||||||
|
|
||||||
public static async updateGitHubCheck() {
|
public static async updateGitHubCheck(owner, repo, token, name, sha, nameReadable, summary, longDescription) {
|
||||||
const octokit = new Octokit({
|
const octokit = new Octokit({
|
||||||
auth: 'YOUR-TOKEN',
|
auth: token,
|
||||||
});
|
});
|
||||||
|
|
||||||
const data: any = {
|
const data: any = {
|
||||||
owner: 'OWNER',
|
owner,
|
||||||
repo: 'REPO',
|
repo,
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
check_run_id: 0,
|
check_run_id: 0,
|
||||||
name: 'mighty_readme',
|
name,
|
||||||
|
// eslint-disable-next-line camelcase
|
||||||
|
head_sha: sha,
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
started_at: '2018-05-04T01:14:52Z',
|
started_at: '2018-05-04T01:14:52Z',
|
||||||
status: `completed`,
|
status: `completed`,
|
||||||
|
|
@ -21,37 +23,10 @@ class GitHub {
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
completed_at: '2018-05-04T01:14:52Z',
|
completed_at: '2018-05-04T01:14:52Z',
|
||||||
output: {
|
output: {
|
||||||
title: 'Mighty Readme report',
|
title: nameReadable,
|
||||||
summary: 'There are 0 failures, 2 warnings, and 1 notices.',
|
summary,
|
||||||
text: 'You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.',
|
text: longDescription,
|
||||||
annotations: [
|
annotations: [],
|
||||||
{
|
|
||||||
path: 'README.md',
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
annotation_level: 'warning',
|
|
||||||
title: 'Spell Checker',
|
|
||||||
message: "Check your spelling for 'banaas'.",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
raw_details: "Do you mean 'bananas' or 'banana'?",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
start_line: 2,
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
end_line: 2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'README.md',
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
annotation_level: 'warning',
|
|
||||||
title: 'Spell Checker',
|
|
||||||
message: "Check your spelling for 'aples'",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
raw_details: "Do you mean 'apples' or 'Naples'",
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
start_line: 4,
|
|
||||||
// eslint-disable-next-line camelcase
|
|
||||||
end_line: 4,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
images: [
|
images: [
|
||||||
{
|
{
|
||||||
alt: 'Super bananas',
|
alt: 'Super bananas',
|
||||||
|
|
@ -65,26 +40,26 @@ class GitHub {
|
||||||
await octokit.request('PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}', data);
|
await octokit.request('PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async createGitHubCheck() {
|
public static async createGitHubCheck(owner, repo, token, name, sha, nameReadable, summary) {
|
||||||
// call github api to create a check
|
// call github api to create a check
|
||||||
const octokit = new Octokit({
|
const octokit = new Octokit({
|
||||||
auth: 'YOUR-TOKEN',
|
auth: token,
|
||||||
});
|
});
|
||||||
|
|
||||||
await octokit.request('POST /repos/{owner}/{repo}/check-runs', {
|
await octokit.request(`POST /repos/${owner}/${repo}/check-runs`, {
|
||||||
owner: 'OWNER',
|
owner,
|
||||||
repo: 'REPO',
|
repo,
|
||||||
name: 'mighty_readme',
|
name,
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
head_sha: 'ce587453ced02b1526dfb4cb910479d431683101',
|
head_sha: sha,
|
||||||
status: 'in_progress',
|
status: 'in_progress',
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
external_id: '42',
|
external_id: '42',
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
started_at: '2018-05-04T01:14:52Z',
|
started_at: '2018-05-04T01:14:52Z',
|
||||||
output: {
|
output: {
|
||||||
title: 'Mighty Readme report',
|
title: nameReadable,
|
||||||
summary: '',
|
summary,
|
||||||
text: '',
|
text: '',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue