Skip to content

Commit 3a5a40c

Browse files
committed
use path.join instead of slash to support windows
1 parent 02e109b commit 3a5a40c

File tree

6 files changed

+202
-88
lines changed

6 files changed

+202
-88
lines changed

dist/index.js

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -38575,16 +38575,19 @@ function wrappy (fn, cb) {
3857538575
/***/ ((module, __unused_webpack___webpack_exports__, __nccwpck_require__) => {
3857638576

3857738577
__nccwpck_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
38578-
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(2186);
38579-
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nccwpck_require__.n(_actions_core__WEBPACK_IMPORTED_MODULE_0__);
38580-
/* harmony import */ var _actions_github__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(5438);
38581-
/* harmony import */ var _actions_github__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nccwpck_require__.n(_actions_github__WEBPACK_IMPORTED_MODULE_1__);
38582-
/* harmony import */ var _actions_io__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(7436);
38583-
/* harmony import */ var _actions_io__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nccwpck_require__.n(_actions_io__WEBPACK_IMPORTED_MODULE_2__);
38584-
/* harmony import */ var _src_csvReport_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(7925);
38585-
/* harmony import */ var _src_isFileExists_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(2139);
38586-
/* harmony import */ var _src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(4362);
38587-
/* harmony import */ var _src_helpers_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(3015);
38578+
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(1017);
38579+
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nccwpck_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
38580+
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(2186);
38581+
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nccwpck_require__.n(_actions_core__WEBPACK_IMPORTED_MODULE_1__);
38582+
/* harmony import */ var _actions_github__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(5438);
38583+
/* harmony import */ var _actions_github__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nccwpck_require__.n(_actions_github__WEBPACK_IMPORTED_MODULE_2__);
38584+
/* harmony import */ var _actions_io__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(7436);
38585+
/* harmony import */ var _actions_io__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__nccwpck_require__.n(_actions_io__WEBPACK_IMPORTED_MODULE_3__);
38586+
/* harmony import */ var _src_csvReport_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(7925);
38587+
/* harmony import */ var _src_isFileExists_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(2139);
38588+
/* harmony import */ var _src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(4362);
38589+
/* harmony import */ var _src_helpers_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(3015);
38590+
3858838591

3858938592

3859038593

@@ -38596,22 +38599,22 @@ const baseDir = 'report-action';
3859638599
try {
3859738600
const runTimestamp = Date.now();
3859838601
// vars
38599-
const sourceReportDir = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('report_dir');
38600-
const ghPagesPath = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('gh_pages');
38601-
const reportId = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('report_id');
38602-
const reportType = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('report_type');
38603-
const listDirs = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('list_dirs') == 'true';
38604-
const branchName = (0,_src_helpers_js__WEBPACK_IMPORTED_MODULE_6__/* .getBranchName */ .L)(_actions_github__WEBPACK_IMPORTED_MODULE_1__.context.ref, _actions_github__WEBPACK_IMPORTED_MODULE_1__.context.payload.pull_request);
38605-
const reportBaseDir = `${ghPagesPath}/${baseDir}/${branchName}/${reportId}`;
38602+
const sourceReportDir = _actions_core__WEBPACK_IMPORTED_MODULE_1__.getInput('report_dir');
38603+
const ghPagesPath = _actions_core__WEBPACK_IMPORTED_MODULE_1__.getInput('gh_pages');
38604+
const reportId = _actions_core__WEBPACK_IMPORTED_MODULE_1__.getInput('report_id');
38605+
const reportType = _actions_core__WEBPACK_IMPORTED_MODULE_1__.getInput('report_type');
38606+
const listDirs = _actions_core__WEBPACK_IMPORTED_MODULE_1__.getInput('list_dirs') == 'true';
38607+
const branchName = (0,_src_helpers_js__WEBPACK_IMPORTED_MODULE_7__/* .getBranchName */ .L)(_actions_github__WEBPACK_IMPORTED_MODULE_2__.context.ref, _actions_github__WEBPACK_IMPORTED_MODULE_2__.context.payload.pull_request);
38608+
const reportBaseDir = path__WEBPACK_IMPORTED_MODULE_0__.join(ghPagesPath, baseDir, branchName, reportId);
3860638609
/**
3860738610
* `runId` is unique but won't change on job re-run
3860838611
* `runNumber` is not unique and resets from time to time
3860938612
* that's why the `runTimestamp` is used to guarantee uniqueness
3861038613
*/
38611-
const runUniqueId = `${_actions_github__WEBPACK_IMPORTED_MODULE_1__.context.runId}_${runTimestamp}`;
38612-
const reportDir = `${reportBaseDir}/${runUniqueId}`;
38614+
const runUniqueId = `${_actions_github__WEBPACK_IMPORTED_MODULE_2__.context.runId}_${runTimestamp}`;
38615+
const reportDir = path__WEBPACK_IMPORTED_MODULE_0__.join(reportBaseDir, runUniqueId);
3861338616
// urls
38614-
const ghPagesUrl = `https://${_actions_github__WEBPACK_IMPORTED_MODULE_1__.context.repo.owner}.github.io/${_actions_github__WEBPACK_IMPORTED_MODULE_1__.context.repo.repo}`;
38617+
const ghPagesUrl = `https://${_actions_github__WEBPACK_IMPORTED_MODULE_2__.context.repo.owner}.github.io/${_actions_github__WEBPACK_IMPORTED_MODULE_2__.context.repo.repo}`;
3861538618
const ghPagesBaseDir = `${ghPagesUrl}/${baseDir}/${branchName}/${reportId}`.replaceAll(' ', '%20');
3861638619
const ghPagesReportDir = `${ghPagesBaseDir}/${runUniqueId}`.replaceAll(' ', '%20');
3861738620
const reportUrl = reportType === 'csv' ? ghPagesBaseDir : ghPagesReportDir;
@@ -38621,48 +38624,48 @@ try {
3862138624
gh_pages: ghPagesPath,
3862238625
report_id: reportId,
3862338626
runUniqueId,
38624-
ref: _actions_github__WEBPACK_IMPORTED_MODULE_1__.context.ref,
38625-
repo: _actions_github__WEBPACK_IMPORTED_MODULE_1__.context.repo,
38627+
ref: _actions_github__WEBPACK_IMPORTED_MODULE_2__.context.ref,
38628+
repo: _actions_github__WEBPACK_IMPORTED_MODULE_2__.context.repo,
3862638629
branchName,
3862738630
reportBaseDir,
3862838631
reportDir,
3862938632
report_url: reportUrl,
3863038633
listDirs,
3863138634
});
38632-
if (!(await (0,_src_isFileExists_js__WEBPACK_IMPORTED_MODULE_4__/* .isFileExist */ .e)(ghPagesPath))) {
38635+
if (!(await (0,_src_isFileExists_js__WEBPACK_IMPORTED_MODULE_5__/* .isFileExist */ .e)(ghPagesPath))) {
3863338636
throw new Error("Folder with gh-pages branch doesn't exist: " + ghPagesPath);
3863438637
}
3863538638
if (!['html', 'csv'].includes(reportType)) {
3863638639
throw new Error('Unsupported report type: ' + reportType);
3863738640
}
3863838641
// action
38639-
await _actions_io__WEBPACK_IMPORTED_MODULE_2__.mkdirP(reportBaseDir);
38642+
await _actions_io__WEBPACK_IMPORTED_MODULE_3__.mkdirP(reportBaseDir);
3864038643
// process report
3864138644
if (reportType === 'html') {
38642-
await _actions_io__WEBPACK_IMPORTED_MODULE_2__.cp(sourceReportDir, reportDir, { recursive: true });
38645+
await _actions_io__WEBPACK_IMPORTED_MODULE_3__.cp(sourceReportDir, reportDir, { recursive: true });
3864338646
}
3864438647
else if (reportType === 'csv') {
38645-
await (0,_src_csvReport_js__WEBPACK_IMPORTED_MODULE_3__/* .csvReport */ .K)(sourceReportDir, reportBaseDir, reportId, {
38646-
sha: _actions_github__WEBPACK_IMPORTED_MODULE_1__.context.sha,
38648+
await (0,_src_csvReport_js__WEBPACK_IMPORTED_MODULE_4__/* .csvReport */ .K)(sourceReportDir, reportBaseDir, reportId, {
38649+
sha: _actions_github__WEBPACK_IMPORTED_MODULE_2__.context.sha,
3864738650
});
3864838651
}
3864938652
// folder listing
3865038653
if (listDirs) {
38651-
if (await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_5__/* .shouldWriteRootHtml */ .z)(ghPagesPath)) {
38652-
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_5__/* .writeFolderListing */ .l)(ghPagesPath, '.');
38654+
if (await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_6__/* .shouldWriteRootHtml */ .z)(ghPagesPath)) {
38655+
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_6__/* .writeFolderListing */ .l)(ghPagesPath, '.');
3865338656
}
38654-
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_5__/* .writeFolderListing */ .l)(ghPagesPath, baseDir);
38655-
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_5__/* .writeFolderListing */ .l)(ghPagesPath, `${baseDir}/${branchName}`);
38657+
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_6__/* .writeFolderListing */ .l)(ghPagesPath, baseDir);
38658+
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_6__/* .writeFolderListing */ .l)(ghPagesPath, path__WEBPACK_IMPORTED_MODULE_0__.join(baseDir, branchName));
3865638659
if (reportType === 'html') {
38657-
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_5__/* .writeFolderListing */ .l)(ghPagesPath, `${baseDir}/${branchName}/${reportId}`);
38660+
await (0,_src_writeFolderListing_js__WEBPACK_IMPORTED_MODULE_6__/* .writeFolderListing */ .l)(ghPagesPath, path__WEBPACK_IMPORTED_MODULE_0__.join(baseDir, branchName, reportId));
3865838661
}
3865938662
}
3866038663
// outputs
38661-
_actions_core__WEBPACK_IMPORTED_MODULE_0__.setOutput('report_url', reportUrl);
38662-
_actions_core__WEBPACK_IMPORTED_MODULE_0__.setOutput('report_history_url', ghPagesBaseDir);
38664+
_actions_core__WEBPACK_IMPORTED_MODULE_1__.setOutput('report_url', reportUrl);
38665+
_actions_core__WEBPACK_IMPORTED_MODULE_1__.setOutput('report_history_url', ghPagesBaseDir);
3866338666
}
3866438667
catch (error) {
38665-
_actions_core__WEBPACK_IMPORTED_MODULE_0__.setFailed(error.message);
38668+
_actions_core__WEBPACK_IMPORTED_MODULE_1__.setFailed(error.message);
3866638669
}
3866738670

3866838671
__webpack_async_result__();
@@ -38700,7 +38703,7 @@ const chartReport = Buffer.from('PCEtLSByZXBvcnQtYWN0aW9uIC0tPgo8IWRvY3R5cGUgaHR
3870038703

3870138704
const csvExt = '.csv';
3870238705
const csvReport = async (sourceReportDir, reportBaseDir, reportId, meta) => {
38703-
const dataFile = `${reportBaseDir}/data.json`;
38706+
const dataFile = external_path_.join(reportBaseDir, 'data.json');
3870438707
let csvJson;
3870538708
if (await (0,isFileExists/* isFileExist */.e)(dataFile)) {
3870638709
csvJson = JSON.parse((await promises_.readFile(dataFile)).toString('utf-8'));
@@ -38775,7 +38778,7 @@ const csvReport = async (sourceReportDir, reportBaseDir, reportId, meta) => {
3877538778
entry.records.push(record);
3877638779
});
3877738780
await promises_.writeFile(dataFile, JSON.stringify(csvJson, null, 2));
38778-
await promises_.writeFile(`${reportBaseDir}/index.html`, chartReport);
38781+
await promises_.writeFile(external_path_.join(reportBaseDir, 'index.html'), chartReport);
3877938782
};
3878038783

3878138784

@@ -38827,6 +38830,8 @@ __nccwpck_require__.d(__webpack_exports__, {
3882738830
"l": () => (/* binding */ writeFolderListing)
3882838831
});
3882938832

38833+
// EXTERNAL MODULE: external "path"
38834+
var external_path_ = __nccwpck_require__(1017);
3883038835
// EXTERNAL MODULE: external "fs/promises"
3883138836
var promises_ = __nccwpck_require__(3292);
3883238837
;// CONCATENATED MODULE: ./src/report_listing.ts
@@ -38839,6 +38844,7 @@ var isFileExists = __nccwpck_require__(2139);
3883938844

3884038845

3884138846

38847+
3884238848
const indexHtmlFirstLine = '<!-- report-action -->';
3884338849
const writeFolderListing = async (ghPagesPath, relPath) => {
3884438850
const isRoot = relPath === '.';
@@ -38852,12 +38858,12 @@ const writeFolderListing = async (ghPagesPath, relPath) => {
3885238858
.map((d) => d.name);
3885338859
links.push(...listdir);
3885438860
const data = { links };
38855-
await promises_.writeFile(`${fullPath}/data.json`, JSON.stringify(data, null, 2));
38856-
await promises_.writeFile(`${fullPath}/index.html`, listingReport);
38861+
await promises_.writeFile(external_path_.join(fullPath, 'data.json'), JSON.stringify(data, null, 2));
38862+
await promises_.writeFile(external_path_.join(fullPath, 'index.html'), listingReport);
3885738863
};
3885838864
const shouldWriteRootHtml = async (ghPagesPath) => {
3885938865
// do noot overwrite index.html in the folder root to avoid conflicts
38860-
const rootHtmlPath = `${ghPagesPath}/index.html`;
38866+
const rootHtmlPath = external_path_.join(ghPagesPath, 'index.html');
3886138867
const isRootHtmlExisting = await (0,isFileExists/* isFileExist */.e)(rootHtmlPath);
3886238868
// write index.html in the folder root if it doesn't exist
3886338869
if (!isRootHtmlExisting) {

index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import * as path from 'path'
12
import * as core from '@actions/core'
23
import * as github from '@actions/github'
34
import * as io from '@actions/io'
@@ -18,15 +19,15 @@ try {
1819
const reportType = core.getInput('report_type')
1920
const listDirs = core.getInput('list_dirs') == 'true'
2021
const branchName = getBranchName(github.context.ref, github.context.payload.pull_request)
21-
const reportBaseDir = `${ghPagesPath}/${baseDir}/${branchName}/${reportId}`
22+
const reportBaseDir = path.join(ghPagesPath, baseDir, branchName, reportId)
2223

2324
/**
2425
* `runId` is unique but won't change on job re-run
2526
* `runNumber` is not unique and resets from time to time
2627
* that's why the `runTimestamp` is used to guarantee uniqueness
2728
*/
2829
const runUniqueId = `${github.context.runId}_${runTimestamp}`
29-
const reportDir = `${reportBaseDir}/${runUniqueId}`
30+
const reportDir = path.join(reportBaseDir, runUniqueId)
3031

3132
// urls
3233
const ghPagesUrl = `https://${github.context.repo.owner}.github.io/${github.context.repo.repo}`
@@ -76,9 +77,9 @@ try {
7677
await writeFolderListing(ghPagesPath, '.')
7778
}
7879
await writeFolderListing(ghPagesPath, baseDir)
79-
await writeFolderListing(ghPagesPath, `${baseDir}/${branchName}`)
80+
await writeFolderListing(ghPagesPath, path.join(baseDir, branchName))
8081
if (reportType === 'html') {
81-
await writeFolderListing(ghPagesPath, `${baseDir}/${branchName}/${reportId}`)
82+
await writeFolderListing(ghPagesPath, path.join(baseDir, branchName, reportId))
8283
}
8384
}
8485

0 commit comments

Comments
 (0)