From 7f2382879a87cb040cab54a4b211b7f593937c2b Mon Sep 17 00:00:00 2001 From: Jared Petersen Date: Wed, 15 Jul 2020 19:53:39 -0600 Subject: [PATCH] addressed most of the feedback --- __tests__/gpg.test.ts | 2 +- action.yml | 5 ++++ dist/cleanup/index.js | 29 ++++++++++++++++-- dist/setup/index.js | 68 ++++++++++++++++++++++++++++++------------- src/cleanup-java.ts | 9 ++++-- src/constants.ts | 14 +++++++++ src/setup-java.ts | 54 +++++++++++++++++++--------------- 7 files changed, 130 insertions(+), 51 deletions(-) create mode 100644 src/constants.ts diff --git a/__tests__/gpg.test.ts b/__tests__/gpg.test.ts index 2248b04..5929980 100644 --- a/__tests__/gpg.test.ts +++ b/__tests__/gpg.test.ts @@ -16,7 +16,7 @@ import gpg = require('../src/gpg'); describe('gpg tests', () => { beforeEach(async () => { await io.mkdirP(tempDir); - }, 300000); + }); afterAll(async () => { try { diff --git a/action.yml b/action.yml index 6c51965..74cc2b5 100644 --- a/action.yml +++ b/action.yml @@ -21,18 +21,22 @@ inputs: description: 'Path to where the compressed JDK is located. The path could be in your source repository or a local path on the agent.' required: false + default: '' server-id: description: 'ID of the distributionManagement repository in the pom.xml file. Default is `github`' required: false + default: 'github' server-username: description: 'Environment variable name for the username for authentication to the Apache Maven repository. Default is $GITHUB_ACTOR' required: false + default: 'GITHUB_ACTOR' server-password: description: 'Environment variable name for password or token for authentication to the Apache Maven repository. Default is $GITHUB_TOKEN' required: false + default: 'GITHUB_TOKEN' settings-path: description: 'Path to where the settings.xml file will be written. Default is ~/.m2.' required: false @@ -43,6 +47,7 @@ inputs: description: 'Environment variable name for the GPG private key passphrase. Default is $GPG_PASSPHRASE.' required: false + default: 'GPG_PASSHPRASE' outputs: path: description: 'Path to where the java environment has been installed (same as $JAVA_HOME)' diff --git a/dist/cleanup/index.js b/dist/cleanup/index.js index aa1ed2d..8639b01 100644 --- a/dist/cleanup/index.js +++ b/dist/cleanup/index.js @@ -946,6 +946,28 @@ module.exports = require("os"); module.exports = require("child_process"); +/***/ }), + +/***/ 211: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.INPUT_VERSION = 'version'; +exports.INPUT_JAVA_VERSION = 'java-version'; +exports.INPUT_ARCHITECTURE = 'architecture'; +exports.INPUT_JAVA_PACKAGE = 'java-package'; +exports.INPUT_JDK_FILE = 'jdkFile'; +exports.INPUT_SERVER_ID = 'server-id'; +exports.INPUT_SERVER_USERNAME = 'server-username'; +exports.INPUT_SERVER_PASSWORD = 'server-password'; +exports.INPUT_GPG_PRIVATE_KEY = 'gpg-private-key'; +exports.INPUT_GPG_PASSPHRASE = 'gpg-passphrase'; +exports.INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; +exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; + + /***/ }), /***/ 219: @@ -972,12 +994,13 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const core = __importStar(__webpack_require__(470)); const gpg = __importStar(__webpack_require__(884)); +const constants = __importStar(__webpack_require__(211)); function run() { return __awaiter(this, void 0, void 0, function* () { - if (core.getInput('gpg-private-key', { required: false })) { - console.log('removing private key from keychain'); + if (core.getInput(constants.INPUT_GPG_PRIVATE_KEY, { required: false })) { + core.info('removing private key from keychain'); try { - const keyFingerprint = core.getState('gpg-private-key-fingerprint'); + const keyFingerprint = core.getState(constants.STATE_GPG_PRIVATE_KEY_FINGERPRINT); yield gpg.deleteKey(keyFingerprint); } catch (error) { diff --git a/dist/setup/index.js b/dist/setup/index.js index fbcb1cd..7def586 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -25645,6 +25645,28 @@ function range(n, m) { exports.range = range; //# sourceMappingURL=Set.js.map +/***/ }), + +/***/ 694: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.INPUT_VERSION = 'version'; +exports.INPUT_JAVA_VERSION = 'java-version'; +exports.INPUT_ARCHITECTURE = 'architecture'; +exports.INPUT_JAVA_PACKAGE = 'java-package'; +exports.INPUT_JDK_FILE = 'jdkFile'; +exports.INPUT_SERVER_ID = 'server-id'; +exports.INPUT_SERVER_USERNAME = 'server-username'; +exports.INPUT_SERVER_PASSWORD = 'server-password'; +exports.INPUT_GPG_PRIVATE_KEY = 'gpg-private-key'; +exports.INPUT_GPG_PASSPHRASE = 'gpg-passphrase'; +exports.INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; +exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; + + /***/ }), /***/ 695: @@ -28650,40 +28672,46 @@ const core = __importStar(__webpack_require__(470)); const installer = __importStar(__webpack_require__(923)); const auth = __importStar(__webpack_require__(331)); const gpg = __importStar(__webpack_require__(884)); +const constants = __importStar(__webpack_require__(694)); const path = __importStar(__webpack_require__(622)); -const DEFAULT_ID = 'github'; -const DEFAULT_USERNAME = 'GITHUB_ACTOR'; -const DEFAULT_PASSWORD = 'GITHUB_TOKEN'; -const DEFAULT_GPG_PRIVATE_KEY = undefined; -const DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; function run() { return __awaiter(this, void 0, void 0, function* () { try { - let version = core.getInput('version'); + let version = core.getInput(constants.INPUT_VERSION); if (!version) { - version = core.getInput('java-version', { required: true }); + version = core.getInput(constants.INPUT_JAVA_VERSION, { required: true }); } - const arch = core.getInput('architecture', { required: true }); - const javaPackage = core.getInput('java-package', { required: true }); - const jdkFile = core.getInput('jdkFile', { required: false }) || ''; + const arch = core.getInput(constants.INPUT_ARCHITECTURE, { required: true }); + const javaPackage = core.getInput(constants.INPUT_JAVA_PACKAGE, { + required: true + }); + const jdkFile = core.getInput(constants.INPUT_JDK_FILE, { required: false }); yield installer.getJava(version, arch, jdkFile, javaPackage); const matchersPath = path.join(__dirname, '..', '..', '.github'); - console.log(`##[add-matcher]${path.join(matchersPath, 'java.json')}`); - const id = core.getInput('server-id', { required: false }) || DEFAULT_ID; - const username = core.getInput('server-username', { required: false }) || DEFAULT_USERNAME; - const password = core.getInput('server-password', { required: false }) || DEFAULT_PASSWORD; - const gpgPrivateKey = core.getInput('gpg-private-key', { required: false }) || - DEFAULT_GPG_PRIVATE_KEY; - const gpgPassphrase = core.getInput('gpg-passphrase', { required: false }) || - (gpgPrivateKey ? DEFAULT_GPG_PASSPHRASE : undefined); + core.info(`##[add-matcher]${path.join(matchersPath, 'java.json')}`); + const id = core.getInput(constants.INPUT_SERVER_ID, { required: false }); + const username = core.getInput(constants.INPUT_SERVER_USERNAME, { + required: false + }); + const password = core.getInput(constants.INPUT_SERVER_PASSWORD, { + required: false + }); + const gpgPrivateKey = core.getInput(constants.INPUT_GPG_PRIVATE_KEY, { + required: false + }); + const gpgPassphrase = core.getInput(constants.INPUT_GPG_PASSPHRASE, { required: false }) || + (gpgPrivateKey ? constants.INPUT_DEFAULT_GPG_PASSPHRASE : undefined); if (gpgPrivateKey) { core.setSecret(gpgPrivateKey); } + if (gpgPassphrase) { + core.setSecret(gpgPassphrase); + } yield auth.configAuthentication(id, username, password, gpgPassphrase); if (gpgPrivateKey) { - console.log('importing private key'); + core.info('importing private key'); const keyFingerprint = (yield gpg.importKey(gpgPrivateKey)) || ''; - core.saveState('gpg-private-key-fingerprint', keyFingerprint); + core.saveState(constants.STATE_GPG_PRIVATE_KEY_FINGERPRINT, keyFingerprint); } } catch (error) { diff --git a/src/cleanup-java.ts b/src/cleanup-java.ts index 9c057b6..1a02e83 100644 --- a/src/cleanup-java.ts +++ b/src/cleanup-java.ts @@ -1,11 +1,14 @@ import * as core from '@actions/core'; import * as gpg from './gpg'; +import * as constants from './constants'; async function run() { - if (core.getInput('gpg-private-key', {required: false})) { - console.log('removing private key from keychain'); + if (core.getInput(constants.INPUT_GPG_PRIVATE_KEY, {required: false})) { + core.info('removing private key from keychain'); try { - const keyFingerprint = core.getState('gpg-private-key-fingerprint'); + const keyFingerprint = core.getState( + constants.STATE_GPG_PRIVATE_KEY_FINGERPRINT + ); await gpg.deleteKey(keyFingerprint); } catch (error) { core.setFailed(error.message); diff --git a/src/constants.ts b/src/constants.ts new file mode 100644 index 0000000..49eab9f --- /dev/null +++ b/src/constants.ts @@ -0,0 +1,14 @@ +export const INPUT_VERSION = 'version'; +export const INPUT_JAVA_VERSION = 'java-version'; +export const INPUT_ARCHITECTURE = 'architecture'; +export const INPUT_JAVA_PACKAGE = 'java-package'; +export const INPUT_JDK_FILE = 'jdkFile'; +export const INPUT_SERVER_ID = 'server-id'; +export const INPUT_SERVER_USERNAME = 'server-username'; +export const INPUT_SERVER_PASSWORD = 'server-password'; +export const INPUT_GPG_PRIVATE_KEY = 'gpg-private-key'; +export const INPUT_GPG_PASSPHRASE = 'gpg-passphrase'; + +export const INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; + +export const STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; diff --git a/src/setup-java.ts b/src/setup-java.ts index ed1a683..b8db644 100644 --- a/src/setup-java.ts +++ b/src/setup-java.ts @@ -2,51 +2,57 @@ import * as core from '@actions/core'; import * as installer from './installer'; import * as auth from './auth'; import * as gpg from './gpg'; +import * as constants from './constants'; import * as path from 'path'; -const DEFAULT_ID = 'github'; -const DEFAULT_USERNAME = 'GITHUB_ACTOR'; -const DEFAULT_PASSWORD = 'GITHUB_TOKEN'; -const DEFAULT_GPG_PRIVATE_KEY = undefined; -const DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; - async function run() { try { - let version = core.getInput('version'); + let version = core.getInput(constants.INPUT_VERSION); if (!version) { - version = core.getInput('java-version', {required: true}); + version = core.getInput(constants.INPUT_JAVA_VERSION, {required: true}); } - const arch = core.getInput('architecture', {required: true}); - const javaPackage = core.getInput('java-package', {required: true}); - const jdkFile = core.getInput('jdkFile', {required: false}) || ''; + const arch = core.getInput(constants.INPUT_ARCHITECTURE, {required: true}); + const javaPackage = core.getInput(constants.INPUT_JAVA_PACKAGE, { + required: true + }); + const jdkFile = core.getInput(constants.INPUT_JDK_FILE, {required: false}); await installer.getJava(version, arch, jdkFile, javaPackage); const matchersPath = path.join(__dirname, '..', '..', '.github'); - console.log(`##[add-matcher]${path.join(matchersPath, 'java.json')}`); + core.info(`##[add-matcher]${path.join(matchersPath, 'java.json')}`); - const id = core.getInput('server-id', {required: false}) || DEFAULT_ID; - const username = - core.getInput('server-username', {required: false}) || DEFAULT_USERNAME; - const password = - core.getInput('server-password', {required: false}) || DEFAULT_PASSWORD; - const gpgPrivateKey = - core.getInput('gpg-private-key', {required: false}) || - DEFAULT_GPG_PRIVATE_KEY; + const id = core.getInput(constants.INPUT_SERVER_ID, {required: false}); + const username = core.getInput(constants.INPUT_SERVER_USERNAME, { + required: false + }); + const password = core.getInput(constants.INPUT_SERVER_PASSWORD, { + required: false + }); + const gpgPrivateKey = core.getInput(constants.INPUT_GPG_PRIVATE_KEY, { + required: false + }); const gpgPassphrase = - core.getInput('gpg-passphrase', {required: false}) || - (gpgPrivateKey ? DEFAULT_GPG_PASSPHRASE : undefined); + core.getInput(constants.INPUT_GPG_PASSPHRASE, {required: false}) || + (gpgPrivateKey ? constants.INPUT_DEFAULT_GPG_PASSPHRASE : undefined); if (gpgPrivateKey) { core.setSecret(gpgPrivateKey); } + if (gpgPassphrase) { + core.setSecret(gpgPassphrase); + } + await auth.configAuthentication(id, username, password, gpgPassphrase); if (gpgPrivateKey) { - console.log('importing private key'); + core.info('importing private key'); const keyFingerprint = (await gpg.importKey(gpgPrivateKey)) || ''; - core.saveState('gpg-private-key-fingerprint', keyFingerprint); + core.saveState( + constants.STATE_GPG_PRIVATE_KEY_FINGERPRINT, + keyFingerprint + ); } } catch (error) { core.setFailed(error.message);