fix: use onetime workdir name

This commit is contained in:
peaceiris 2020-02-19 22:17:51 +09:00
parent 00311793aa
commit 0d912a1314
2 changed files with 10 additions and 11 deletions

View File

@ -40,9 +40,10 @@ export async function copyAssets(
export async function setRepo(
inps: Inputs,
remoteURL: string
): Promise<string> {
const workDir = path.join(getHomeDir(), 'actions_github_pages');
remoteURL: string,
unixTime: string
): Promise<void> {
const workDir = path.join(getHomeDir(), `actions_github_pages_${unixTime}`);
const publishDir = path.join(
`${process.env.GITHUB_WORKSPACE}`,
inps.PublishDir
@ -54,7 +55,7 @@ export async function setRepo(
process.chdir(workDir);
await createBranchForce(inps.PublishBranch);
await copyAssets(publishDir, workDir);
return workDir;
return;
}
const result: CmdResult = {
@ -92,7 +93,7 @@ export async function setRepo(
}
await copyAssets(publishDir, workDir);
return workDir;
return;
} else {
throw new Error(`Failed to clone remote branch ${inps.PublishBranch}`);
}
@ -105,7 +106,7 @@ export async function setRepo(
process.chdir(workDir);
await createBranchForce(inps.PublishBranch);
await copyAssets(publishDir, workDir);
return workDir;
return;
}
}

View File

@ -1,6 +1,5 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as io from '@actions/io';
import {Inputs} from './interfaces';
import {getInputs} from './get-inputs';
import {setTokens} from './set-tokens';
@ -15,7 +14,9 @@ export async function run(): Promise<void> {
const remoteURL = await setTokens(inps);
core.debug(`[INFO] remoteURL: ${remoteURL}`);
const workDir = await git.setRepo(inps, remoteURL);
const date = new Date();
const unixTime = date.getTime();
await git.setRepo(inps, remoteURL, unixTime);
try {
await exec.exec('git', ['remote', 'rm', 'origin']);
@ -33,9 +34,6 @@ export async function run(): Promise<void> {
await git.push(inps.PublishBranch, inps.ForceOrphan);
await git.pushTag(inps.TagName, inps.TagMessage);
core.info(`[INFO] Deleting ${workDir}`);
await io.rmRF(workDir);
core.info('[INFO] Action successfully completed');
return;