1
0
Fork 0
mirror of https://github.com/shimataro/ssh-key-action.git synced 2025-06-19 22:52:10 +10:00

add cleanup process (#224)

* add cleanup process

* save state

* update README/CHANGELOG

* fix message

* `getSshDirectory()` should not be exported
This commit is contained in:
shimataro 2022-12-20 08:06:55 +09:00 committed by GitHub
parent 193316a178
commit 7cccbd3065
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 122 additions and 6 deletions

View file

@ -25,6 +25,33 @@ try {
* main function
*/
function main(): void {
if (!isPost()) {
setup();
setPost();
} else {
cleanup();
}
}
/**
* is post process?
* @returns Yes/No
*/
function isPost(): boolean {
return Boolean(core.getState("isPost"));
}
/**
* update post state
*/
function setPost(): void {
core.saveState("isPost", "true");
}
/**
* setup function
*/
function setup(): void {
// parameters
const key = core.getInput("key", {
required: true,
@ -80,13 +107,22 @@ function main(): void {
console.log(`SSH key has been stored to ${sshDirName} successfully.`);
}
/**
* cleanup function
*/
function cleanup(): void {
// remove ".ssh" directory
const sshDirName = removeSshDirectory();
console.log(`SSH key in ${sshDirName} has been removed successfully.`);
}
/**
* create ".ssh" directory
* @returns directory name
*/
function createSshDirectory(): string {
const home = getHomeDirectory();
const dirName = path.resolve(home, ".ssh");
const dirName = getSshDirectory();
fs.mkdirSync(dirName, {
recursive: true,
mode: 0o700,
@ -94,6 +130,27 @@ function createSshDirectory(): string {
return dirName;
}
/**
* remove ".ssh" directory
* @returns removed directory name
*/
function removeSshDirectory(): string {
const dirName = getSshDirectory();
fs.rmSync(dirName, {
recursive: true,
force: true,
});
return dirName;
}
/**
* get SSH directory
* @returns SSH directory name
*/
function getSshDirectory(): string {
return path.resolve(getHomeDirectory(), ".ssh");
}
/**
* get home directory
* @returns home directory name