mirror of
https://github.com/docker/login-action.git
synced 2024-11-25 09:51:05 -05:00
Take the password from stdin
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
53f337dbae
commit
6e236fe59d
3 changed files with 15 additions and 8 deletions
9
dist/index.js
generated
vendored
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 });
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
10
src/exec.ts
10
src/exec.ts
|
@ -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) => {
|
||||
|
|
Loading…
Reference in a new issue