From d79fe12cbd45bab8e5f3f0bacfb3217d953cd45d Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Fri, 8 Sep 2023 10:04:41 +0200 Subject: [PATCH] display proxy configuration Signed-off-by: CrazyMax --- src/main.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main.ts b/src/main.ts index ff1179b..6de4245 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,5 @@ import * as fs from 'fs'; +import * as path from 'path'; import * as core from '@actions/core'; import * as actionsToolkit from '@docker/actions-toolkit'; import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs'; @@ -7,6 +8,7 @@ import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {Exec} from '@docker/actions-toolkit/lib/exec'; import {GitHub} from '@docker/actions-toolkit/lib/github'; import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; +import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker'; import * as context from './context'; import * as stateHelper from './state-helper'; @@ -34,6 +36,31 @@ actionsToolkit.run( } }); + await core.group(`Proxy configuration`, async () => { + let dockerConfig: ConfigFile | undefined; + let dockerConfigMalformed = false; + try { + dockerConfig = await Docker.configFile(); + } catch (e) { + dockerConfigMalformed = true; + core.warning(`Unable to parse config file ${path.join(Docker.configDir, 'config.json')}: ${e}`); + } + if (dockerConfig && dockerConfig.proxies) { + for (const host in dockerConfig.proxies) { + let prefix = ''; + if (Object.keys(dockerConfig.proxies).length > 1) { + prefix = ' '; + core.info(host); + } + for (const key in dockerConfig.proxies[host]) { + core.info(`${prefix}${key}: ${dockerConfig.proxies[host][key]}`); + } + } + } else if (!dockerConfigMalformed) { + core.info('No proxy configuration found'); + } + }); + if (!(await toolkit.buildx.isAvailable())) { core.setFailed(`Docker buildx is required. See https://github.com/docker/setup-buildx-action to set up buildx.`); return;