fix: refresh run source during distribution builds

This commit is contained in:
npc0-hue
2026-08-21 23:09:28 +08:00
parent 2381b69d24
commit 0a605495af
12 changed files with 317 additions and 119 deletions
+42 -36
View File
@@ -12,6 +12,8 @@ const defaultAddr = ":8080"
const defaultDataDir = ".platform-data"
const defaultStorageBackend = "file"
const defaultBuilderDockerBinary = "docker"
const defaultBuilderSourceRepository = "git@git.npc0.com:admin343/run.git"
const defaultBuilderSourceRevision = "main"
// defaultBuilderImage names an explicit toolchain version rather than a
// floating tag such as latest. Operators who want digest pinning override
@@ -20,24 +22,26 @@ const defaultBuilderImage = "browser-platform-distribution-builder:1.0.0"
const defaultBuilderTimeoutSeconds = 1800
type Config struct {
Addr string
StorageBackend string
MySQLDSN string
DataDir string
MetadataPath string
LogDir string
ArtifactDir string
LogBodyBackend string
BootstrapAdminEmail string
BootstrapAdminPassword string
SecretEnvelopeKey string
AIProviderMode string
BuilderDockerBinary string
BuilderImage string
BuilderSourceDir string
BuilderWorkspaceDir string
BuilderCacheDir string
BuilderTimeoutSeconds int
Addr string
StorageBackend string
MySQLDSN string
DataDir string
MetadataPath string
LogDir string
ArtifactDir string
LogBodyBackend string
BootstrapAdminEmail string
BootstrapAdminPassword string
SecretEnvelopeKey string
AIProviderMode string
BuilderDockerBinary string
BuilderImage string
BuilderSourceDir string
BuilderSourceRepository string
BuilderSourceRevision string
BuilderWorkspaceDir string
BuilderCacheDir string
BuilderTimeoutSeconds int
}
func Load() Config {
@@ -78,24 +82,26 @@ func Load() Config {
}
return Config{
Addr: addr,
StorageBackend: storageBackend,
MySQLDSN: strings.TrimSpace(os.Getenv("PLATFORM_MYSQL_DSN")),
DataDir: dataDir,
MetadataPath: metadataPath,
LogDir: logDir,
ArtifactDir: artifactDir,
LogBodyBackend: logBodyBackend,
BootstrapAdminEmail: strings.TrimSpace(os.Getenv("PLATFORM_BOOTSTRAP_ADMIN_EMAIL")),
BootstrapAdminPassword: os.Getenv("PLATFORM_BOOTSTRAP_ADMIN_PASSWORD"),
SecretEnvelopeKey: os.Getenv("PLATFORM_SECRET_ENVELOPE_KEY"),
AIProviderMode: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_AI_PROVIDER_MODE")), "live"),
BuilderDockerBinary: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_DOCKER_BINARY")), defaultBuilderDockerBinary),
BuilderImage: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_IMAGE")), defaultBuilderImage),
BuilderSourceDir: strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_SOURCE_DIR")),
BuilderWorkspaceDir: builderWorkspaceDir,
BuilderCacheDir: builderCacheDir,
BuilderTimeoutSeconds: defaultPositiveInt(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_TIMEOUT_SECONDS")), defaultBuilderTimeoutSeconds),
Addr: addr,
StorageBackend: storageBackend,
MySQLDSN: strings.TrimSpace(os.Getenv("PLATFORM_MYSQL_DSN")),
DataDir: dataDir,
MetadataPath: metadataPath,
LogDir: logDir,
ArtifactDir: artifactDir,
LogBodyBackend: logBodyBackend,
BootstrapAdminEmail: strings.TrimSpace(os.Getenv("PLATFORM_BOOTSTRAP_ADMIN_EMAIL")),
BootstrapAdminPassword: os.Getenv("PLATFORM_BOOTSTRAP_ADMIN_PASSWORD"),
SecretEnvelopeKey: os.Getenv("PLATFORM_SECRET_ENVELOPE_KEY"),
AIProviderMode: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_AI_PROVIDER_MODE")), "live"),
BuilderDockerBinary: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_DOCKER_BINARY")), defaultBuilderDockerBinary),
BuilderImage: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_IMAGE")), defaultBuilderImage),
BuilderSourceDir: strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_SOURCE_DIR")),
BuilderSourceRepository: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_SOURCE_REPOSITORY")), defaultBuilderSourceRepository),
BuilderSourceRevision: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_SOURCE_REVISION")), defaultBuilderSourceRevision),
BuilderWorkspaceDir: builderWorkspaceDir,
BuilderCacheDir: builderCacheDir,
BuilderTimeoutSeconds: defaultPositiveInt(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_TIMEOUT_SECONDS")), defaultBuilderTimeoutSeconds),
}
}