11import * as fs from 'fs' ;
2+ import * as path from 'path' ;
23import * as stateHelper from './state-helper' ;
34import * as core from '@actions/core' ;
45import * as actionsToolkit from '@docker/actions-toolkit' ;
@@ -8,6 +9,7 @@ import {Exec} from '@docker/actions-toolkit/lib/exec';
89import { GitHub } from '@docker/actions-toolkit/lib/github' ;
910import { Inputs as BuildxInputs } from '@docker/actions-toolkit/lib/buildx/inputs' ;
1011import { Toolkit } from '@docker/actions-toolkit/lib/toolkit' ;
12+ import { ConfigFile } from '@docker/actions-toolkit/lib/types/docker' ;
1113
1214import * as context from './context' ;
1315
@@ -34,9 +36,16 @@ actionsToolkit.run(
3436 }
3537 } ) ;
3638
37- const dockerConfig = await Docker . configFile ( ) ;
38- if ( dockerConfig && dockerConfig . proxies ) {
39- await core . group ( `Proxy configuration found` , async ( ) => {
39+ await core . group ( `Proxy configuration` , async ( ) => {
40+ let dockerConfig : ConfigFile | undefined ;
41+ let dockerConfigMalformed = false ;
42+ try {
43+ dockerConfig = await Docker . configFile ( ) ;
44+ } catch ( e ) {
45+ dockerConfigMalformed = true ;
46+ core . warning ( `Unable to parse config file ${ path . join ( Docker . configDir , 'config.json' ) } : ${ e } ` ) ;
47+ }
48+ if ( dockerConfig && dockerConfig . proxies ) {
4049 for ( const host in dockerConfig . proxies ) {
4150 let prefix = '' ;
4251 if ( dockerConfig . proxies . length > 1 ) {
@@ -47,8 +56,10 @@ actionsToolkit.run(
4756 core . info ( `${ prefix } ${ key } : ${ dockerConfig . proxies [ host ] [ key ] } ` ) ;
4857 }
4958 }
50- } ) ;
51- }
59+ } else if ( ! dockerConfigMalformed ) {
60+ core . info ( 'No proxy configuration found' ) ;
61+ }
62+ } ) ;
5263
5364 if ( ! ( await toolkit . buildx . isAvailable ( ) ) ) {
5465 core . setFailed ( `Docker buildx is required. See https://github.com/docker/setup-buildx-action to set up buildx.` ) ;
0 commit comments