Allow APP_VERSION to be empty string + dockerFile fix (#10900)

# Introduction
No choice but to allow APP_VERSION to be an empty string as it's though
to dynamically define dockerfile env vars
This commit is contained in:
Paul Rastoin
2025-03-14 17:25:36 +01:00
committed by GitHub
parent 326acfe9a5
commit 3168958f8a
4 changed files with 10 additions and 6 deletions

View File

@ -67,6 +67,7 @@ ARG SENTRY_RELEASE
ENV SENTRY_RELEASE $SENTRY_RELEASE
ARG APP_VERSION
ENV APP_VERSION $APP_VERSION
# Copy built applications from previous stages
COPY --chown=1000 --from=twenty-server-build /app /app

View File

@ -1,11 +1,6 @@
#!/bin/sh
set -e
# Set APP_VERSION only if it has a value
if [ ! -z "${APP_VERSION}" ]; then
export APP_VERSION="${APP_VERSION}"
fi
# Check if the initialization has already been done and that we enabled automatic migration
if [ "${DISABLE_DB_MIGRATIONS}" != "true" ] && [ ! -f /app/docker-data/db_status ]; then
echo "Running database setup and migrations..."

View File

@ -0,0 +1,7 @@
import { ValidateIf, ValidationOptions, isDefined } from 'class-validator';
export function IsOptionalOrEmptyString(validationOptions?: ValidationOptions) {
return ValidateIf((_obj, value) => {
return isDefined(value) && value !== '';
}, validationOptions);
}

View File

@ -28,6 +28,7 @@ import { CastToPositiveNumber } from 'src/engine/core-modules/environment/decora
import { EnvironmentVariablesMetadata } from 'src/engine/core-modules/environment/decorators/environment-variables-metadata.decorator';
import { IsAWSRegion } from 'src/engine/core-modules/environment/decorators/is-aws-region.decorator';
import { IsDuration } from 'src/engine/core-modules/environment/decorators/is-duration.decorator';
import { IsOptionalOrEmptyString } from 'src/engine/core-modules/environment/decorators/is-optional-or-empty-string.decorator';
import { IsStrictlyLowerThan } from 'src/engine/core-modules/environment/decorators/is-strictly-lower-than.decorator';
import { EnvironmentVariablesGroup } from 'src/engine/core-modules/environment/enums/environment-variables-group.enum';
import { ExceptionHandlerDriver } from 'src/engine/core-modules/exception-handler/interfaces';
@ -984,7 +985,7 @@ export class EnvironmentVariables {
group: EnvironmentVariablesGroup.ServerConfig,
description: 'Twenty server version',
})
@IsOptional()
@IsOptionalOrEmptyString()
@IsSemVer()
APP_VERSION?: string;
}