@@ -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' ;
@@ -173,16 +174,21 @@ actionsToolkit.run(
173
174
if ( stateHelper . builderDriver != 'docker' && stateHelper . builderName . length > 0 ) {
174
175
await core . group ( `Removing builder` , async ( ) => {
175
176
const buildx = new Buildx ( { standalone : stateHelper . standalone } ) ;
176
- const rmCmd = await buildx . getCommand ( [ 'rm' , stateHelper . builderName ] ) ;
177
- await exec
178
- . getExecOutput ( rmCmd . command , rmCmd . args , {
179
- ignoreReturnCode : true
180
- } )
181
- . then ( res => {
182
- if ( res . stderr . length > 0 && res . exitCode != 0 ) {
183
- core . warning ( res . stderr . trim ( ) ) ;
184
- }
185
- } ) ;
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
+ }
186
192
} ) ;
187
193
}
188
194
0 commit comments