get-inputs.ts
1 import * as core from '@actions/core'; 2 import {Inputs} from './interfaces'; 3 4 export function showInputs(inps: Inputs): void { 5 let authMethod = ''; 6 if (inps.DeployKey) { 7 authMethod = 'DeployKey'; 8 } else if (inps.GithubToken) { 9 authMethod = 'GithubToken'; 10 } else if (inps.PersonalToken) { 11 authMethod = 'PersonalToken'; 12 } 13 14 core.info(`\ 15 [INFO] ${authMethod}: true 16 [INFO] PublishBranch: ${inps.PublishBranch} 17 [INFO] PublishDir: ${inps.PublishDir} 18 [INFO] DestinationDir: ${inps.DestinationDir} 19 [INFO] ExternalRepository: ${inps.ExternalRepository} 20 [INFO] AllowEmptyCommit: ${inps.AllowEmptyCommit} 21 [INFO] KeepFiles: ${inps.KeepFiles} 22 [INFO] ForceOrphan: ${inps.ForceOrphan} 23 [INFO] UserName: ${inps.UserName} 24 [INFO] UserEmail: ${inps.UserEmail} 25 [INFO] CommitMessage: ${inps.CommitMessage} 26 [INFO] FullCommitMessage: ${inps.FullCommitMessage} 27 [INFO] TagName: ${inps.TagName} 28 [INFO] TagMessage: ${inps.TagMessage} 29 [INFO] EnableJekyll (DisableNoJekyll): ${inps.DisableNoJekyll} 30 [INFO] CNAME: ${inps.CNAME} 31 [INFO] ExcludeAssets ${inps.ExcludeAssets} 32 `); 33 } 34 35 export function getInputs(): Inputs { 36 let useBuiltinJekyll = false; 37 38 const enableJekyll: boolean = 39 (core.getInput('enable_jekyll') || 'false').toUpperCase() === 'TRUE'; 40 const disableNoJekyll: boolean = 41 (core.getInput('disable_nojekyll') || 'false').toUpperCase() === 'TRUE'; 42 43 if (enableJekyll && disableNoJekyll) { 44 throw new Error(`Use either of enable_jekyll or disable_nojekyll`); 45 } else if (enableJekyll) { 46 useBuiltinJekyll = true; 47 } else if (disableNoJekyll) { 48 useBuiltinJekyll = true; 49 } 50 51 const inps: Inputs = { 52 DeployKey: core.getInput('deploy_key'), 53 GithubToken: core.getInput('github_token'), 54 PersonalToken: core.getInput('personal_token'), 55 PublishBranch: core.getInput('publish_branch'), 56 PublishDir: core.getInput('publish_dir'), 57 DestinationDir: core.getInput('destination_dir'), 58 ExternalRepository: core.getInput('external_repository'), 59 AllowEmptyCommit: (core.getInput('allow_empty_commit') || 'false').toUpperCase() === 'TRUE', 60 KeepFiles: (core.getInput('keep_files') || 'false').toUpperCase() === 'TRUE', 61 ForceOrphan: (core.getInput('force_orphan') || 'false').toUpperCase() === 'TRUE', 62 UserName: core.getInput('user_name'), 63 UserEmail: core.getInput('user_email'), 64 CommitMessage: core.getInput('commit_message'), 65 FullCommitMessage: core.getInput('full_commit_message'), 66 TagName: core.getInput('tag_name'), 67 TagMessage: core.getInput('tag_message'), 68 DisableNoJekyll: useBuiltinJekyll, 69 CNAME: core.getInput('cname'), 70 ExcludeAssets: core.getInput('exclude_assets') 71 }; 72 73 return inps; 74 }