Take the password from stdin

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2020-09-24 20:21:04 +02:00
parent 53f337dbae
commit 6e236fe59d
No known key found for this signature in database
GPG key ID: 3248E46B6BB8C7F7
3 changed files with 15 additions and 8 deletions

9
dist/index.js generated vendored
View file

@ -2908,12 +2908,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
Object.defineProperty(exports, "__esModule", { value: true });
exports.exec = void 0;
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 stderr = '';
const options = {
silent: silent,
ignoreReturnCode: true
ignoreReturnCode: true,
input: Buffer.from(stdin || '')
};
options.listeners = {
stdout: (data) => {
@ -2995,7 +2996,7 @@ function logout(registry) {
exports.logout = logout;
function loginStandard(registry, username, password) {
return __awaiter(this, void 0, void 0, function* () {
let loginArgs = ['login', '--password', password];
let loginArgs = ['login', '--password-stdin'];
if (username) {
loginArgs.push('--username', username);
}
@ -3006,7 +3007,7 @@ function loginStandard(registry, username, password) {
else {
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) {
throw new Error(res.stderr);
}

View file

@ -19,7 +19,7 @@ export async function logout(registry: 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) {
loginArgs.push('--username', username);
}
@ -30,7 +30,7 @@ export async function loginStandard(registry: string, username: string, password
} else {
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) {
throw new Error(res.stderr);
}

View file

@ -7,13 +7,19 @@ export interface ExecResult {
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 stderr: string = '';
const options: ExecOptions = {
silent: silent,
ignoreReturnCode: true
ignoreReturnCode: true,
input: Buffer.from(stdin || '')
};
options.listeners = {
stdout: (data: Buffer) => {