1- import { exec } from "../../util/shell" ;
2- import { Werft } from "../../util/werft" ;
3- import { previewNameFromBranchName } from "../../util/preview" ;
1+ import { exec } from "../../util/shell" ;
2+ import { Werft } from "../../util/werft" ;
3+ import { previewNameFromBranchName } from "../../util/preview" ;
44
55type WithIntegrationTests = "skip" | "all" | "workspace" | "ide" | "webapp" ;
66
@@ -36,6 +36,9 @@ export interface JobConfig {
3636 replicatedVersion : string ;
3737 observability : Observability ;
3838 withLargeVM : boolean ;
39+ certIssuer : string ;
40+ recreatePreview : boolean ;
41+ recreateVm : boolean ;
3942}
4043
4144export interface PreviewEnvironmentConfig {
@@ -74,7 +77,7 @@ export function jobConfig(werft: Werft, context: any): JobConfig {
7477 return raw . split ( "," ) . map ( ( e ) => e . trim ( ) ) ;
7578 } ) ( ) ;
7679
77- const coverageOutput = exec ( "mktemp -d" , { silent : true } ) . stdout . trim ( ) ;
80+ const coverageOutput = exec ( "mktemp -d" , { silent : true } ) . stdout . trim ( ) ;
7881
7982 // Main build should only contain the annotations below:
8083 // ['with-contrib', 'publish-to-npm', 'publish-to-jb-marketplace', 'with-clean-slate-deployment']
@@ -97,10 +100,22 @@ export function jobConfig(werft: Werft, context: any): JobConfig {
97100 const withObservability = "with-observability" in buildConfig && ! mainBuild ;
98101 const withLargeVM = "with-large-vm" in buildConfig && ! mainBuild ;
99102 const withLocalPreview = "with-local-preview" in buildConfig || mainBuild
103+ const recreatePreview = "recreate-preview" in buildConfig
104+ const recreateVm = mainBuild || "recreate-vm" in buildConfig ;
100105
101106 const withIntegrationTests = parseWithIntegrationTests ( werft , sliceId , buildConfig [ "with-integration-tests" ] ) ;
102107 const withPreview = decideWithPreview ( { werft, sliceID : sliceId , buildConfig, mainBuild, withIntegrationTests} )
103108
109+ switch ( buildConfig [ "cert-issuer" ] ) {
110+ case "letsencrypt" :
111+ buildConfig [ "cert-issuer" ] = "letsencrypt-issuer-gitpod-core-dev"
112+ break
113+ case "zerossl" :
114+ default :
115+ buildConfig [ "cert-issuer" ] = "zerossl-issuer-gitpod-core-dev"
116+ }
117+ const certIssuer = buildConfig [ "cert-issuer" ] ;
118+
104119 const repository : Repository = {
105120 owner : context . Repository . owner ,
106121 repo : context . Repository . repo ,
@@ -155,6 +170,9 @@ export function jobConfig(werft: Werft, context: any): JobConfig {
155170 withLocalPreview,
156171 workspaceFeatureFlags,
157172 withLargeVM,
173+ certIssuer,
174+ recreatePreview,
175+ recreateVm,
158176 } ;
159177
160178 werft . logOutput ( sliceId , JSON . stringify ( jobConfig , null , 2 ) ) ;
@@ -186,8 +204,8 @@ function parseVersion(context: any) {
186204 return version ;
187205}
188206
189- function decideWithPreview ( options : { werft : Werft , sliceID : string , buildConfig : any , mainBuild : boolean , withIntegrationTests : WithIntegrationTests } ) {
190- const { werft, sliceID, buildConfig, mainBuild, withIntegrationTests } = options
207+ function decideWithPreview ( options : { werft : Werft , sliceID : string , buildConfig : any , mainBuild : boolean , withIntegrationTests : WithIntegrationTests } ) {
208+ const { werft, sliceID, buildConfig, mainBuild, withIntegrationTests} = options
191209 if ( mainBuild ) {
192210 werft . log ( sliceID , "with-preview is disabled for main builds" )
193211 return false
0 commit comments