diff --git a/dist/cleanup/index.js b/dist/cleanup/index.js index 41ed9de..816ae96 100644 --- a/dist/cleanup/index.js +++ b/dist/cleanup/index.js @@ -74451,8 +74451,9 @@ function generateReports() { return; } const buildOutput = JSON.parse(fs.readFileSync(BUILD_OUTPUT_JSON_PATH, 'utf8')); - (0, utils_1.saveReportJson)(JSON.stringify(buildOutput)); - (0, utils_1.createTree)(JSON.stringify(buildOutput)); + yield (0, utils_1.saveReportJson)(JSON.stringify(buildOutput)); + const treeSha = yield (0, utils_1.createTree)(JSON.stringify(buildOutput)); + yield (0, utils_1.createRef)(treeSha); const report = createReport(buildOutput); if (areJobReportsEnabled()) { core.summary.addRaw(report); @@ -74758,7 +74759,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.createTree = exports.saveReportJson = exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getMatchingTags = exports.getTaggedRelease = exports.getLatestRelease = exports.exec = void 0; +exports.createTree = exports.createRef = exports.saveReportJson = exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getMatchingTags = exports.getTaggedRelease = exports.getLatestRelease = exports.exec = void 0; const c = __importStar(__nccwpck_require__(2764)); const core = __importStar(__nccwpck_require__(2258)); const github = __importStar(__nccwpck_require__(7168)); @@ -74899,6 +74900,9 @@ exports.isPREvent = isPREvent; function getGitHubToken() { return core.getInput(c.INPUT_GITHUB_TOKEN); } +function getCommitSha() { + return process.env.GITHUB_SHA || "default_tag"; +} function createPRComment(content) { var _a; return __awaiter(this, void 0, void 0, function* () { @@ -74948,6 +74952,18 @@ function saveReportJson(content) { }); } exports.saveReportJson = saveReportJson; +function createRef(sha) { + return __awaiter(this, void 0, void 0, function* () { + const ref = `refs/metrics/` + getCommitSha(); + console.log(`creating ref ${ref} for metrics tree ${sha}`); + const octokit = github.getOctokit(getGitHubToken()); + const context = github.context; + const response = yield octokit.request(`POST /repos/${context.repo.owner}/${context.repo.repo}/git/refs`, Object.assign(Object.assign({}, context.repo), { ref, + sha })); + console.log(response); + }); +} +exports.createRef = createRef; function createTree(json) { return __awaiter(this, void 0, void 0, function* () { console.log(`creating tree at jessiscript/re_build_tracking`); diff --git a/dist/main/index.js b/dist/main/index.js index 1d00cee..68ab497 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -74550,8 +74550,9 @@ function generateReports() { return; } const buildOutput = JSON.parse(fs.readFileSync(BUILD_OUTPUT_JSON_PATH, 'utf8')); - (0, utils_1.saveReportJson)(JSON.stringify(buildOutput)); - (0, utils_1.createTree)(JSON.stringify(buildOutput)); + yield (0, utils_1.saveReportJson)(JSON.stringify(buildOutput)); + const treeSha = yield (0, utils_1.createTree)(JSON.stringify(buildOutput)); + yield (0, utils_1.createRef)(treeSha); const report = createReport(buildOutput); if (areJobReportsEnabled()) { core.summary.addRaw(report); @@ -75755,7 +75756,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.createTree = exports.saveReportJson = exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getMatchingTags = exports.getTaggedRelease = exports.getLatestRelease = exports.exec = void 0; +exports.createTree = exports.createRef = exports.saveReportJson = exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getMatchingTags = exports.getTaggedRelease = exports.getLatestRelease = exports.exec = void 0; const c = __importStar(__nccwpck_require__(2764)); const core = __importStar(__nccwpck_require__(2258)); const github = __importStar(__nccwpck_require__(7168)); @@ -75896,6 +75897,9 @@ exports.isPREvent = isPREvent; function getGitHubToken() { return core.getInput(c.INPUT_GITHUB_TOKEN); } +function getCommitSha() { + return process.env.GITHUB_SHA || "default_tag"; +} function createPRComment(content) { var _a; return __awaiter(this, void 0, void 0, function* () { @@ -75945,6 +75949,18 @@ function saveReportJson(content) { }); } exports.saveReportJson = saveReportJson; +function createRef(sha) { + return __awaiter(this, void 0, void 0, function* () { + const ref = `refs/metrics/` + getCommitSha(); + console.log(`creating ref ${ref} for metrics tree ${sha}`); + const octokit = github.getOctokit(getGitHubToken()); + const context = github.context; + const response = yield octokit.request(`POST /repos/${context.repo.owner}/${context.repo.repo}/git/refs`, Object.assign(Object.assign({}, context.repo), { ref, + sha })); + console.log(response); + }); +} +exports.createRef = createRef; function createTree(json) { return __awaiter(this, void 0, void 0, function* () { console.log(`creating tree at jessiscript/re_build_tracking`); diff --git a/src/features/reports.ts b/src/features/reports.ts index 01d6544..10657ab 100644 --- a/src/features/reports.ts +++ b/src/features/reports.ts @@ -4,7 +4,7 @@ import * as fs from 'fs' import * as github from '@actions/github' import {join} from 'path' import {tmpdir} from 'os' -import {createPRComment, createTree, isPREvent, saveReportJson, toSemVer} from '../utils' +import {createPRComment, createRef, createTree, isPREvent, saveReportJson, toSemVer} from '../utils' import {gte} from 'semver' import {Base64} from 'js-base64'; import { Octokit } from '@octokit/rest'; @@ -134,8 +134,9 @@ export async function generateReports(): Promise { fs.readFileSync(BUILD_OUTPUT_JSON_PATH, 'utf8') ) - saveReportJson(JSON.stringify(buildOutput)) - createTree(JSON.stringify(buildOutput)) + await saveReportJson(JSON.stringify(buildOutput)) + const treeSha = await createTree(JSON.stringify(buildOutput)) + await createRef(treeSha) const report = createReport(buildOutput) if (areJobReportsEnabled()) { diff --git a/src/utils.ts b/src/utils.ts index 3d77a2f..660880e 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -159,6 +159,10 @@ function getGitHubToken(): string { return core.getInput(c.INPUT_GITHUB_TOKEN) } +function getCommitSha(): string { + return process.env.GITHUB_SHA || "default_tag" +} + export async function createPRComment(content: string): Promise { if (!isPREvent()) { throw new Error('Not a PR event.') @@ -213,6 +217,24 @@ export async function saveReportJson(content: string): Promise { } } +export async function createRef(sha: string) { + const ref = `refs/metrics/` + getCommitSha() + console.log(`creating ref ${ref} for metrics tree ${sha}`); + const octokit = github.getOctokit(getGitHubToken()); + + const context = github.context + const response = await octokit.request( + `POST /repos/${context.repo.owner}/${context.repo.repo}/git/refs`, + { + ...context.repo, + ref, + sha, + } + ); + + console.log(response); +} + export async function createTree(json: string): Promise { console.log(`creating tree at jessiscript/re_build_tracking`); const octokit = github.getOctokit(getGitHubToken());