fix: escape secrets

This commit is contained in:
Andras Bacsai
2022-12-19 10:04:28 +01:00
parent a70adc5eb3
commit 4261147fe8
4 changed files with 184 additions and 136 deletions

View File

@@ -2,6 +2,7 @@ import { promises as fs } from 'fs';
import { buildImage, checkPnpm } from './common';
const createDockerfile = async (data, image): Promise<void> => {
const { default: escapeStringRegexp } = await import('escape-string-regexp');
const {
workdir,
port,
@@ -23,15 +24,15 @@ const createDockerfile = async (data, image): Promise<void> => {
secrets.forEach((secret) => {
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret)
const isSecretFound = secrets.filter((s) => s.name === secret.name && s.isPRMRSecret);
if (isSecretFound.length > 0) {
Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`);
Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(isSecretFound[0].value)}`);
} else {
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`);
}
}
}