Compare commits

...

3 Commits

Author SHA1 Message Date
CrazyMax
0a97817b6a Merge pull request #957 from crazy-max/warn-docker-config
Some checks failed
ci / digest (docker, false, true) (push) Has been cancelled
ci / digest (docker, true, false) (push) Has been cancelled
ci / digest (docker-container, false, false) (push) Has been cancelled
ci / digest (docker-container, false, true) (push) Has been cancelled
ci / digest (docker-container, true, false) (push) Has been cancelled
ci / registry-cache (push) Has been cancelled
ci / github-cache (push) Has been cancelled
ci / standalone (push) Has been cancelled
ci / named-context-pin (push) Has been cancelled
ci / named-context-docker (push) Has been cancelled
ci / named-context-container (push) Has been cancelled
ci / docker-config-malformed (push) Has been cancelled
ci / proxy-docker-config (push) Has been cancelled
ci / proxy-buildkitd (push) Has been cancelled
test / test (push) Has been cancelled
validate / prepare (push) Has been cancelled
validate / validate (push) Has been cancelled
e2e / build (AWS ECR Public, AWS_SECRET_ACCESS_KEY, public.ecr.aws, public.ecr.aws/q3b5f1u4/test-docker-action, remote, AWS_ACCESS_KEY_ID) (push) Has been cancelled
e2e / build (AWS ECR, AWS_SECRET_ACCESS_KEY, 175142243308.dkr.ecr.us-east-2.amazonaws.com, 175142243308.dkr.ecr.us-east-2.amazonaws.com/sandbox/test-docker-action, remote, AWS_ACCESS_KEY_ID) (push) Has been cancelled
e2e / build (Artifactory, ARTIFACTORY_TOKEN, sforzando-build-team-local.jfrog.io, sforzando-build-team-local.jfrog.io/build-push-action-e2e, remote, ARTIFACTORY_USERNAME) (push) Has been cancelled
e2e / build (Azure Container Registry, AZURE_CLIENT_SECRET, officialgithubactions.azurecr.io, officialgithubactions.azurecr.io/test-docker-action, remote, AZURE_CLIENT_ID) (push) Has been cancelled
e2e / build (Docker Hub, DOCKERHUB_TOKEN, , ghactionstest/ghactionstest, remote, DOCKERHUB_USERNAME) (push) Has been cancelled
e2e / build (GitHub, GHCR_PAT, ghcr.io, ghcr.io/docker-ghactiontest/test, remote, GHCR_USERNAME) (push) Has been cancelled
e2e / build (GitLab, GITLAB_TOKEN, registry.gitlab.com, registry.gitlab.com/test1716/test, remote, GITLAB_USERNAME) (push) Has been cancelled
e2e / build (Google Artifact Registry, GAR_JSON_KEY, us-east4-docker.pkg.dev, us-east4-docker.pkg.dev/sandbox-298914/docker-official-github-actions/test-docker-action, remote, GAR_USERNAME) (push) Has been cancelled
e2e / build (Google Container Registry, GCR_JSON_KEY, gcr.io, gcr.io/sandbox-298914/test-docker-action, remote, GCR_USERNAME) (push) Has been cancelled
e2e / build (Quay, QUAY_TOKEN, quay.io, quay.io/docker_build_team/ghactiontest, remote, QUAY_USERNAME) (push) Has been cancelled
e2e / build (distribution, Distribution, local) (push) Has been cancelled
e2e / build (harbor, Harbor, local) (push) Has been cancelled
e2e / build (nexus, Nexus, local) (push) Has been cancelled
warn if docker config can't be parsed
2023-09-08 15:38:01 +02:00
CrazyMax
ec39ef320c chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-08 15:35:42 +02:00
CrazyMax
f46044b799 warn if docker config can't be parsed
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-08 15:35:04 +02:00
4 changed files with 35 additions and 7 deletions

View File

@@ -1013,6 +1013,23 @@ jobs:
build-contexts: |
alpine=docker-image://localhost:5000/my-base-image:latest
docker-config-malformed:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set malformed docker config
run: |
mkdir -p ~/.docker
echo 'foo_bar' >> ~/.docker/config.json
-
name: Build
uses: ./
with:
context: ./test
proxy-docker-config:
runs-on: ubuntu-latest
services:

2
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,5 @@
import * as fs from 'fs';
import * as path from 'path';
import * as stateHelper from './state-helper';
import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit';
@@ -8,6 +9,7 @@ import {Exec} from '@docker/actions-toolkit/lib/exec';
import {GitHub} from '@docker/actions-toolkit/lib/github';
import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker';
import * as context from './context';
@@ -34,9 +36,16 @@ actionsToolkit.run(
}
});
const dockerConfig = await Docker.configFile();
if (dockerConfig && dockerConfig.proxies) {
await core.group(`Proxy configuration found`, async () => {
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 (dockerConfig.proxies.length > 1) {
@@ -47,8 +56,10 @@ actionsToolkit.run(
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.`);