@@ -124,22 +124,26 @@ actionsToolkit.run(
124
124
125
125
if ( inputs . driver !== 'docker' ) {
126
126
await core . group ( `Creating a new builder instance` , async ( ) => {
127
- const certsDriverOpts = Buildx . resolveCertsDriverOpts ( inputs . driver , inputs . endpoint , {
128
- cacert : process . env [ `${ context . builderNodeEnvPrefix } _0_AUTH_TLS_CACERT` ] ,
129
- cert : process . env [ `${ context . builderNodeEnvPrefix } _0_AUTH_TLS_CERT` ] ,
130
- key : process . env [ `${ context . builderNodeEnvPrefix } _0_AUTH_TLS_KEY` ]
131
- } ) ;
132
- if ( certsDriverOpts . length > 0 ) {
133
- inputs . driverOpts = [ ...inputs . driverOpts , ...certsDriverOpts ] ;
134
- }
135
- const createCmd = await toolkit . buildx . getCommand ( await context . getCreateArgs ( inputs , toolkit ) ) ;
136
- await Exec . getExecOutput ( createCmd . command , createCmd . args , {
137
- ignoreReturnCode : true
138
- } ) . then ( res => {
139
- if ( res . stderr . length > 0 && res . exitCode != 0 ) {
140
- throw new Error ( res . stderr . match ( / ( .* ) \s * $ / ) ?. [ 0 ] ?. trim ( ) ?? 'unknown error' ) ;
127
+ if ( await toolkit . builder . exists ( inputs . name ) ) {
128
+ core . info ( `Builder ${ inputs . name } already exists, skipping creation` ) ;
129
+ } else {
130
+ const certsDriverOpts = Buildx . resolveCertsDriverOpts ( inputs . driver , inputs . endpoint , {
131
+ cacert : process . env [ `${ context . builderNodeEnvPrefix } _0_AUTH_TLS_CACERT` ] ,
132
+ cert : process . env [ `${ context . builderNodeEnvPrefix } _0_AUTH_TLS_CERT` ] ,
133
+ key : process . env [ `${ context . builderNodeEnvPrefix } _0_AUTH_TLS_KEY` ]
134
+ } ) ;
135
+ if ( certsDriverOpts . length > 0 ) {
136
+ inputs . driverOpts = [ ...inputs . driverOpts , ...certsDriverOpts ] ;
141
137
}
142
- } ) ;
138
+ const createCmd = await toolkit . buildx . getCommand ( await context . getCreateArgs ( inputs , toolkit ) ) ;
139
+ await Exec . getExecOutput ( createCmd . command , createCmd . args , {
140
+ ignoreReturnCode : true
141
+ } ) . then ( res => {
142
+ if ( res . stderr . length > 0 && res . exitCode != 0 ) {
143
+ throw new Error ( res . stderr . match ( / ( .* ) \s * $ / ) ?. [ 0 ] ?. trim ( ) ?? 'unknown error' ) ;
144
+ }
145
+ } ) ;
146
+ }
143
147
} ) ;
144
148
}
145
149
0 commit comments