Merge pull request #13 from crazy-max/master

Take the password from stdin
This commit is contained in:
CrazyMax 2020-09-24 20:37:48 +02:00 committed by GitHub
commit 0f9fb80421
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 38 deletions

@ -1,30 +0,0 @@
# Changelog
## 1.3.0 (2020/08/21)
* Handle AWS CLI v2
* Check AWS CLI version
* Add tests
* Add example for Azure Container Registry (ACR)
* Move zeit/ncc to vercel/ncc
## 1.2.0 (2020/08/20)
* Add support for AWS Elastic Container Registry (ECR)
* Add example for Google Container Registry (GCR)
## 1.1.1 (2020/08/16)
* Typo
## 1.1.0 (2020/08/15)
* Add tests and examples for GitLab and GitHub Package Registry
## 1.0.1 (2020/08/15)
* Add LICENSE
## 1.0.0 (2020/08/15)
* Initial version

9
dist/index.js generated vendored

@ -2908,12 +2908,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.exec = void 0; exports.exec = void 0;
const actionsExec = __importStar(__webpack_require__(514)); const actionsExec = __importStar(__webpack_require__(514));
exports.exec = (command, args = [], silent) => __awaiter(void 0, void 0, void 0, function* () { exports.exec = (command, args = [], silent, stdin) => __awaiter(void 0, void 0, void 0, function* () {
let stdout = ''; let stdout = '';
let stderr = ''; let stderr = '';
const options = { const options = {
silent: silent, silent: silent,
ignoreReturnCode: true ignoreReturnCode: true,
input: Buffer.from(stdin || '')
}; };
options.listeners = { options.listeners = {
stdout: (data) => { stdout: (data) => {
@ -2995,7 +2996,7 @@ function logout(registry) {
exports.logout = logout; exports.logout = logout;
function loginStandard(registry, username, password) { function loginStandard(registry, username, password) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
let loginArgs = ['login', '--password', password]; let loginArgs = ['login', '--password-stdin'];
if (username) { if (username) {
loginArgs.push('--username', username); loginArgs.push('--username', username);
} }
@ -3006,7 +3007,7 @@ function loginStandard(registry, username, password) {
else { else {
core.info(`🔑 Logging into DockerHub...`); core.info(`🔑 Logging into DockerHub...`);
} }
yield execm.exec('docker', loginArgs, true).then(res => { yield execm.exec('docker', loginArgs, true, password).then(res => {
if (res.stderr != '' && !res.success) { if (res.stderr != '' && !res.success) {
throw new Error(res.stderr); throw new Error(res.stderr);
} }

@ -19,7 +19,7 @@ export async function logout(registry: string): Promise<void> {
} }
export async function loginStandard(registry: string, username: string, password: string): Promise<void> { export async function loginStandard(registry: string, username: string, password: string): Promise<void> {
let loginArgs: Array<string> = ['login', '--password', password]; let loginArgs: Array<string> = ['login', '--password-stdin'];
if (username) { if (username) {
loginArgs.push('--username', username); loginArgs.push('--username', username);
} }
@ -30,7 +30,7 @@ export async function loginStandard(registry: string, username: string, password
} else { } else {
core.info(`🔑 Logging into DockerHub...`); core.info(`🔑 Logging into DockerHub...`);
} }
await execm.exec('docker', loginArgs, true).then(res => { await execm.exec('docker', loginArgs, true, password).then(res => {
if (res.stderr != '' && !res.success) { if (res.stderr != '' && !res.success) {
throw new Error(res.stderr); throw new Error(res.stderr);
} }

@ -7,13 +7,19 @@ export interface ExecResult {
stderr: string; stderr: string;
} }
export const exec = async (command: string, args: string[] = [], silent: boolean): Promise<ExecResult> => { export const exec = async (
command: string,
args: string[] = [],
silent: boolean,
stdin?: string
): Promise<ExecResult> => {
let stdout: string = ''; let stdout: string = '';
let stderr: string = ''; let stderr: string = '';
const options: ExecOptions = { const options: ExecOptions = {
silent: silent, silent: silent,
ignoreReturnCode: true ignoreReturnCode: true,
input: Buffer.from(stdin || '')
}; };
options.listeners = { options.listeners = {
stdout: (data: Buffer) => { stdout: (data: Buffer) => {