@@ -4,6 +4,7 @@ import * as core from '@actions/core';
4
4
import * as exec from '@actions/exec' ;
5
5
import * as actionsToolkit from '@docker/actions-toolkit' ;
6
6
import { Buildx } from '@docker/actions-toolkit/lib/buildx/buildx' ;
7
+ import { Builder } from '@docker/actions-toolkit/lib/buildx/builder' ;
7
8
import { Docker } from '@docker/actions-toolkit/lib/docker/docker' ;
8
9
import { Toolkit } from '@docker/actions-toolkit/lib/toolkit' ;
9
10
import { Util } from '@docker/actions-toolkit/lib/util' ;
@@ -60,6 +61,7 @@ actionsToolkit.run(
60
61
61
62
core . setOutput ( 'name' , inputs . name ) ;
62
63
stateHelper . setBuilderName ( inputs . name ) ;
64
+ stateHelper . setBuilderDriver ( inputs . driver ) ;
63
65
64
66
fs . mkdirSync ( Buildx . certsDir , { recursive : true } ) ;
65
67
stateHelper . setCertsDir ( Buildx . certsDir ) ;
@@ -169,19 +171,24 @@ actionsToolkit.run(
169
171
return ;
170
172
}
171
173
172
- if ( stateHelper . builderName . length > 0 ) {
174
+ if ( stateHelper . builderDriver != 'docker' && stateHelper . builderName . length > 0 ) {
173
175
await core . group ( `Removing builder` , async ( ) => {
174
176
const buildx = new Buildx ( { standalone : stateHelper . standalone } ) ;
175
- const rmCmd = await buildx . getCommand ( [ 'rm' , stateHelper . builderName ] ) ;
176
- await exec
177
- . getExecOutput ( rmCmd . command , rmCmd . args , {
178
- ignoreReturnCode : true
179
- } )
180
- . then ( res => {
181
- if ( res . stderr . length > 0 && res . exitCode != 0 ) {
182
- core . warning ( res . stderr . trim ( ) ) ;
183
- }
184
- } ) ;
177
+ const builder = new Builder ( { buildx : buildx } ) ;
178
+ if ( await builder . exists ( stateHelper . builderName ) ) {
179
+ const rmCmd = await buildx . getCommand ( [ 'rm' , stateHelper . builderName ] ) ;
180
+ await exec
181
+ . getExecOutput ( rmCmd . command , rmCmd . args , {
182
+ ignoreReturnCode : true
183
+ } )
184
+ . then ( res => {
185
+ if ( res . stderr . length > 0 && res . exitCode != 0 ) {
186
+ core . warning ( res . stderr . trim ( ) ) ;
187
+ }
188
+ } ) ;
189
+ } else {
190
+ core . info ( `${ stateHelper . builderName } does not exist` ) ;
191
+ }
185
192
} ) ;
186
193
}
187
194
0 commit comments