Compare commits

...
Author SHA1 Message Date
github-actions[bot] be18c6a1b1 [dependabot skip] chore: update generated content 2026-09-17 05:55:30 +00:00
dependabot[bot] 00b7db26e6 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1095.0 to 3.1132.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1132.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1095.0 to 3.1132.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1132.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1096.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1096.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 05:54:30 +00:00
CrazyMax 783ae9cac5 Merge pull request #1064 from docker/dependabot/github_actions/codeql-actions-ce612e0709
build(deps): bump the codeql-actions group across 1 directory with 2 updates
2026-09-16 10:57:53 +02:00
dependabot[bot] b1725c2c93 build(deps): bump the codeql-actions group across 1 directory with 2 updates
Bumps the codeql-actions group with 2 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.3 to 4.37.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)

Updates `github/codeql-action/analyze` from 4.37.3 to 4.37.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-25 05:54:40 +00:00
CrazyMax 0a596b2e7a Merge pull request #1073 from quentin-laplanche-docker/ci/remove-docker-notation
ci: replace registry container action reference
2026-08-24 15:27:36 +02:00
Quentin LaplancheandCodex 5d1ee94869 ci: replace registry container action reference
Use a local Docker container action so the runner still exercises its container-action mounts and environment without a docker:// workflow reference.

Signed-off-by: Quentin Laplanche <quentin.laplanche@docker.com>

Co-authored-by: Codex <noreply@openai.com>
2026-08-24 15:15:07 +02:00
Tõnis Tiigi af63523ba5 Merge pull request #1061 from docker/dockerhub-oidc-logs
log Docker Hub OIDC token exchange progress
2026-08-11 11:56:25 +03:00
CrazyMax 72edfa6c2e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 16:52:13 +02:00
CrazyMax 2b7517a3b4 log Docker Hub OIDC token exchange progress
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 16:51:47 +02:00
CrazyMax eed2509203 Merge pull request #1068 from crazy-max/dockerhub-oidc-increase-expire-in
raise Docker Hub OIDC max expiry to 6 hours
2026-08-06 12:07:08 +02:00
CrazyMax 07573e7c18 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 11:54:13 +02:00
CrazyMax 99ffd0f38a raise Docker Hub OIDC max expiry to 6 hours
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 11:53:57 +02:00
CrazyMax dbcb813823 Merge pull request #1051 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-46cc3261cb
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-07-29 13:33:29 +02:00
github-actions[bot] 5bcb015ee6 [dependabot skip] chore: update generated content 2026-07-29 10:44:53 +00:00
dependabot[bot] b30b2f2d31 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1091.0 to 3.1095.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1095.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1091.0 to 3.1095.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1095.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1092.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1092.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 10:43:57 +00:00
CrazyMax 9087f1e6d6 Merge pull request #1057 from docker/dependabot/npm_and_yarn/js-yaml-5.2.2
build(deps): bump js-yaml from 5.2.1 to 5.2.2
2026-07-29 12:40:51 +02:00
github-actions[bot] 0009830ea1 [dependabot skip] chore: update generated content 2026-07-29 10:32:28 +00:00
dependabot[bot] 23255232d3 build(deps): bump js-yaml from 5.2.1 to 5.2.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 5.2.1 to 5.2.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/5.2.1...5.2.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 10:31:34 +00:00
CrazyMax 4ec1d4a769 Merge pull request #1056 from docker/dependabot/npm_and_yarn/postcss-8.5.22
build(deps): bump postcss from 8.5.10 to 8.5.22
2026-07-29 12:28:53 +02:00
CrazyMax 5fc99ba47b Merge pull request #1053 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.2.3
build(deps): bump aws-actions/configure-aws-credentials from 6.2.2 to 6.2.3
2026-07-29 12:28:12 +02:00
CrazyMax e512bd59d1 Merge pull request #1052 from docker/dependabot/github_actions/codeql-actions-73adf09e94
build(deps): bump the codeql-actions group across 1 directory with 2 updates
2026-07-29 12:26:59 +02:00
CrazyMax a146c91b8f Merge pull request #1059 from crazy-max/harden-buildx-scope-paths
harden buildx scoped config path handling
2026-07-29 10:50:27 +02:00
CrazyMax 8ffd80ffa5 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-29 09:57:41 +02:00
CrazyMax 8305724bcf harden buildx scoped config path handling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-29 09:57:00 +02:00
dependabot[bot] 91264757e1 build(deps): bump the codeql-actions group across 1 directory with 2 updates
Bumps the codeql-actions group with 2 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e0647621c2984b5ed2f768cb892365bf2a616ad1...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `github/codeql-action/analyze` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e0647621c2984b5ed2f768cb892365bf2a616ad1...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-28 05:54:42 +00:00
dependabot[bot] b472f5b276 build(deps): bump postcss from 8.5.10 to 8.5.22
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.10 to 8.5.22.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.10...8.5.22)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.22
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 12:24:30 +00:00
dependabot[bot] 9d876d6c33 build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/517a711dbcd0e402f90c77e7e2f81e849156e31d...e6de054238d6b7531b4efff3b6587d9aade6a06c)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 05:54:30 +00:00
14 changed files with 538 additions and 387 deletions
+3
View File
@@ -0,0 +1,3 @@
FROM docker:29.3@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
ENTRYPOINT ["docker"]
+15
View File
@@ -0,0 +1,15 @@
name: Pull Docker image
description: Pull an image from a Docker container action
inputs:
image:
description: Image reference to pull
required: true
runs:
using: docker
image: Dockerfile
args:
- pull
- ${{ inputs.image }}
+7 -8
View File
@@ -106,11 +106,10 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: DinD
uses: docker://docker:29.3@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
name: Pull test image from Docker CLI container action
uses: ./.github/actions/docker-pull
with:
entrypoint: docker
args: pull ${{ env.GHCR_TEST_IMAGE }}
image: ${{ env.GHCR_TEST_IMAGE }}
-
name: Pull test image
run: |
@@ -228,7 +227,7 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
uses: aws-actions/configure-aws-credentials@e6de054238d6b7531b4efff3b6587d9aade6a06c # v6.2.3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -256,7 +255,7 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
uses: aws-actions/configure-aws-credentials@e6de054238d6b7531b4efff3b6587d9aade6a06c # v6.2.3
with:
role-to-assume: arn:aws:iam::175142243308:role/official_gha_cicd_login_action
aws-region: us-east-1
@@ -303,7 +302,7 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
uses: aws-actions/configure-aws-credentials@e6de054238d6b7531b4efff3b6587d9aade6a06c # v6.2.3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -332,7 +331,7 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
uses: aws-actions/configure-aws-credentials@e6de054238d6b7531b4efff3b6587d9aade6a06c # v6.2.3
with:
role-to-assume: arn:aws:iam::175142243308:role/official_gha_cicd_login_action
aws-region: us-east-1
+2 -2
View File
@@ -35,12 +35,12 @@ jobs:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
with:
category: "/language:javascript-typescript"
+2 -2
View File
@@ -758,9 +758,9 @@ The following inputs can be used as `step.with` keys:
The following environment variables can be set as `step.env` keys:
| Name | Type | Default | Description |
|-------------------------------|--------|---------|-----------------------------------------------------------------------------|
|-------------------------------|--------|---------|----------------------------------------------------------------------------------------------------|
| `DOCKERHUB_OIDC_CONNECTIONID` | String | | Docker Hub OIDC connection ID. Required for Docker Hub OIDC login |
| `DOCKERHUB_OIDC_EXPIREIN` | Number | `300` | Docker Hub OIDC token lifetime in seconds. Must be between `300` and `3600` |
| `DOCKERHUB_OIDC_EXPIREIN` | Number | `300` | Docker Hub OIDC token lifetime in seconds. Must be between `300` (5 minutes) and `21600` (6 hours) |
## Contributing
+81
View File
@@ -35,6 +35,87 @@ test('getAuthList uses the default Docker Hub registry when computing scoped con
});
});
test('getAuthList supports @ scopes appended to the registry config dir', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = '@push';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io') + '@push'
});
});
test('getAuthList supports repository scopes with appended actions', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = 'docker/buildx-bin@push';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io', 'docker', 'buildx-bin@push')
});
});
test('getAuthList supports comma-separated scope actions', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = 'docker/buildx-bin@pull,push';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io', 'docker', 'buildx-bin@pull,push')
});
});
// prettier-ignore
test.each([
'../../../../work/leaked',
'..',
'foo/../../../../etc',
'@../../../leaked',
'foo/bar@../../../leaked',
'@push@pull',
'foo/bar@push@pull',
'@push,',
'@,push',
'@pull,,push',
'@Push',
path.join(path.parse(Buildx.configDir).root, 'work', 'leaked')
])('getAuthList rejects unsafe or unsupported scope path: %s', async scope => {
expect(() => {
getAuthList({
registry: '',
username: 'dbowie',
password: 'groundcontrol',
scope,
ecr: '',
logout: false,
registryAuth: ''
});
}).toThrow(/Invalid scope/);
});
// prettier-ignore
test.each([
'../../../../work/leaked',
'..',
'foo/../../../../etc',
path.join(path.parse(Buildx.configDir).root, 'work', 'leaked')
])('getAuthList rejects unsafe registry path: %s', async registry => {
expect(() => {
getAuthList({
registry,
username: 'dbowie',
password: 'groundcontrol',
scope: '@push',
ecr: '',
logout: false,
registryAuth: ''
});
}).toThrow(/Invalid registry/);
});
test('getAuthList skips secret masking when registry-auth password is absent', async () => {
const stdoutWriteSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
const [auth] = getAuthList({
+14 -4
View File
@@ -5,6 +5,7 @@ import {beforeEach, describe, expect, test, vi} from 'vitest';
import * as dockerhub from '../src/dockerhub.js';
vi.mock('@actions/core', () => ({
debug: vi.fn(),
getIDToken: vi.fn(),
info: vi.fn(),
setSecret: vi.fn()
@@ -83,13 +84,22 @@ describe('getOIDCToken', () => {
expect(body.get('connection_id')).toBe(validConnectionID);
expect(body.get('expires_in')).toBe('300');
expect(setSecretMock).toHaveBeenCalledWith('hub-token');
expect(core.info).toHaveBeenCalledWith('Docker Hub OIDC detected for docker.io');
expect(core.info).toHaveBeenCalledWith('Retrieving GitHub OIDC token for Docker Hub');
expect(core.info).toHaveBeenCalledWith('Exchanging GitHub OIDC token for Docker Hub token');
expect(core.info).toHaveBeenCalledWith('Docker Hub OIDC token exchange succeeded');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token audience: https://identity.docker.com');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token expiration: 300s');
expect(core.debug).toHaveBeenCalledWith('Sending Docker Hub OIDC token request to https://identity.docker.com/oauth/token');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token request returned status code 200');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token response status code: 200');
});
test('uses custom token expiration', async () => {
process.env.DOCKERHUB_OIDC_EXPIREIN = '900';
process.env.DOCKERHUB_OIDC_EXPIREIN = '21600';
await dockerhub.getOIDCToken('docker.io', 'dbowie');
const body = new URLSearchParams(postSpy.mock.calls[0][1]);
expect(body.get('expires_in')).toBe('900');
expect(body.get('expires_in')).toBe('21600');
});
test('uses stage identity host for stage registry', async () => {
@@ -112,9 +122,9 @@ describe('getOIDCToken', () => {
expect(postSpy).not.toHaveBeenCalled();
});
test.each(['not-a-number', '299', '3601'])('validates token expiration %p', async expiresIn => {
test.each(['not-a-number', '299', '21601'])('validates token expiration %p', async expiresIn => {
process.env.DOCKERHUB_OIDC_EXPIREIN = expiresIn;
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow(`Invalid DOCKERHUB_OIDC_EXPIREIN: ${expiresIn}. Must be between 300 and 3600`);
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow(`Invalid DOCKERHUB_OIDC_EXPIREIN: ${expiresIn}. Must be between 300 and 21600`);
expect(getIDTokenMock).not.toHaveBeenCalled();
expect(postSpy).not.toHaveBeenCalled();
});
Generated Vendored
+135 -135
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+4 -4
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+25 -24
View File
@@ -1913,8 +1913,8 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/client-ecr-public@3.1091.0
- @aws-sdk/client-ecr@3.1091.0
- @aws-sdk/client-ecr-public@3.1132.0
- @aws-sdk/client-ecr@3.1132.0
These packages each contain the following license:
@@ -2124,9 +2124,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/signature-v4-multi-region@3.996.41
- @smithy/core@3.29.6
- @smithy/types@4.16.1
- @aws-sdk/signature-v4-multi-region@3.996.46
- @smithy/core@3.34.1
- @smithy/types@4.18.0
These packages each contain the following license:
@@ -2396,11 +2396,12 @@ SOFTWARE.
-----------
The following npm package may be included in this product:
The following npm packages may be included in this product:
- js-yaml@5.2.1
- js-yaml@5.2.2
This package contains the following license:
These packages each contain the following license:
(The MIT License)
@@ -3175,7 +3176,7 @@ software or this license, under any kind of legal claim.***
The following npm package may be included in this product:
- @aws-sdk/core@3.975.3
- @aws-sdk/core@3.978.0
This package contains the following license:
@@ -3385,16 +3386,16 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-env@3.972.59
- @aws-sdk/credential-provider-ini@3.973.4
- @aws-sdk/credential-provider-node@3.972.70
- @aws-sdk/token-providers@3.1088.0
- @aws-sdk/types@3.974.2
- @aws-sdk/xml-builder@3.972.36
- @smithy/credential-provider-imds@4.4.11
- @smithy/fetch-http-handler@5.6.8
- @smithy/node-http-handler@4.9.8
- @smithy/signature-v4@5.6.7
- @aws-sdk/credential-provider-env@3.972.71
- @aws-sdk/credential-provider-ini@3.973.16
- @aws-sdk/credential-provider-node@3.972.83
- @aws-sdk/token-providers@3.1129.0
- @aws-sdk/types@3.974.5
- @aws-sdk/xml-builder@3.972.40
- @smithy/credential-provider-imds@4.5.2
- @smithy/fetch-http-handler@5.8.0
- @smithy/node-http-handler@4.12.1
- @smithy/signature-v4@5.7.3
These packages each contain the following license:
@@ -3604,9 +3605,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-process@3.972.59
- @aws-sdk/credential-provider-sso@3.973.3
- @aws-sdk/credential-provider-web-identity@3.972.65
- @aws-sdk/credential-provider-process@3.972.71
- @aws-sdk/credential-provider-sso@3.973.15
- @aws-sdk/credential-provider-web-identity@3.972.77
These packages each contain the following license:
@@ -3880,9 +3881,9 @@ END OF TERMS AND CONDITIONS
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-http@3.972.61
- @aws-sdk/credential-provider-login@3.972.66
- @aws-sdk/nested-clients@3.997.33
- @aws-sdk/credential-provider-http@3.972.73
- @aws-sdk/credential-provider-login@3.972.78
- @aws-sdk/nested-clients@3.997.45
- @sigstore/verify@4.1.0
These packages each contain the following license:
+3 -3
View File
@@ -25,12 +25,12 @@
"dependencies": {
"@actions/core": "^3.0.1",
"@actions/http-client": "^4.0.1",
"@aws-sdk/client-ecr": "^3.1091.0",
"@aws-sdk/client-ecr-public": "^3.1091.0",
"@aws-sdk/client-ecr": "^3.1132.0",
"@aws-sdk/client-ecr-public": "^3.1132.0",
"@docker/actions-toolkit": "^0.94.0",
"http-proxy-agent": "^9.1.0",
"https-proxy-agent": "^9.1.0",
"js-yaml": "^5.2.1",
"js-yaml": "^5.2.2",
"uuid": "^14.0.1"
},
"devDependencies": {
+26 -6
View File
@@ -77,13 +77,33 @@ export function scopeToConfigDir(registry: string, scope?: string): string {
if (scopeDisabled() || !scope || scope === '') {
return '';
}
let configDir = path.join(Buildx.configDir, 'config', registry === 'docker.io' ? 'registry-1.docker.io' : registry);
if (scope.startsWith('@')) {
configDir += scope;
} else {
configDir = path.join(configDir, scope);
const configRoot = path.resolve(Buildx.configDir, 'config');
const registryDir = path.resolve(configRoot, registry === 'docker.io' ? 'registry-1.docker.io' : registry);
if (!isChildPath(configRoot, registryDir)) {
throw new Error(`Invalid registry '${registry}': resolved config path escapes the Buildx config directory`);
}
return configDir;
const scopeParts = scope.split('@');
if (scopeParts.length > 2) {
throw new Error(`Invalid scope '${scope}': scope can contain at most one @ separator`);
}
const [scopePath, scopeActions] = scopeParts;
if (scopeActions !== undefined && !/^[a-z]+(,[a-z]+)*$/.test(scopeActions)) {
throw new Error(`Invalid scope '${scope}': scope actions must be lowercase names separated by commas`);
}
const scopeSuffix = scopeActions === undefined ? '' : `@${scopeActions}`;
if (scopePath === '') {
return `${registryDir}${scopeSuffix}`;
}
const configDir = path.resolve(registryDir, scopePath);
if (!isChildPath(registryDir, configDir)) {
throw new Error(`Invalid scope '${scope}': resolved config path escapes the Buildx config directory`);
}
return `${configDir}${scopeSuffix}`;
}
function isChildPath(parent: string, child: string): boolean {
const relativePath = path.relative(parent, child);
return relativePath !== '' && relativePath !== '..' && !relativePath.startsWith(`..${path.sep}`) && !path.isAbsolute(relativePath);
}
function scopeDisabled(): boolean {
+12 -1
View File
@@ -15,7 +15,7 @@ interface OIDCTokenResponse {
const registries = new Set(['', 'docker.io', 'registry-1.docker.io', 'registry-1-stage.docker.io', 'dhi.io']);
const defaultExpiresIn = 300;
const minExpiresIn = 300;
const maxExpiresIn = 3600;
const maxExpiresIn = 21600;
const maxRetries = 5;
export const isDockerHubOIDC = (registry: string, password: string): boolean => {
@@ -35,6 +35,10 @@ export const getOIDCToken = async (registry: string, username: string): Promise<
const expiresIn = getExpiresIn();
const identityHost = registry === 'registry-1-stage.docker.io' ? 'identity-stage.docker.com' : 'identity.docker.com';
const audience = `https://${identityHost}`;
core.info(`Docker Hub OIDC detected for ${registry || 'docker.io'}`);
core.debug(`Docker Hub OIDC token audience: ${audience}`);
core.debug(`Docker Hub OIDC token expiration: ${expiresIn}s`);
core.info(`Retrieving GitHub OIDC token for Docker Hub`);
const idToken = await core.getIDToken(audience);
const http: httpm.HttpClient = new httpm.HttpClient('github.com/docker/login-action', [], {
headers: {
@@ -49,10 +53,12 @@ export const getOIDCToken = async (registry: string, username: string): Promise<
data.set('connection_id', connectionID);
data.set('expires_in', expiresIn.toString());
core.info(`Exchanging GitHub OIDC token for Docker Hub token`);
const resp = await postWithRetry(http, `https://${identityHost}/oauth/token`, data.toString());
const tokenResp = <OIDCTokenResponse>JSON.parse(await handleResponse(resp));
core.setSecret(tokenResp.access_token);
core.info(`Docker Hub OIDC token exchange succeeded`);
return {
username,
@@ -70,16 +76,20 @@ const getExpiresIn = (): number => {
};
const postWithRetry = async (http: httpm.HttpClient, url: string, data: string): Promise<httpm.HttpClientResponse> => {
core.debug(`Sending Docker Hub OIDC token request to ${url}`);
let resp = await http.post(url, data);
core.debug(`Docker Hub OIDC token request returned status code ${resp.message.statusCode || HttpCodes.InternalServerError}`);
for (let attempt = 0; (resp.message.statusCode || HttpCodes.InternalServerError) === HttpCodes.TooManyRequests && attempt < maxRetries; attempt++) {
const delay = parseRetryAfter(resp.message.headers['retry-after']);
if (delay === null) {
core.debug(`Docker Hub OIDC token request rate limited without retry-after header`);
break;
}
await resp.readBody();
core.info(`Docker Hub OIDC token request rate limited, retrying in ${delay}ms (attempt ${attempt + 1}/${maxRetries})`);
await new Promise(resolve => setTimeout(resolve, delay));
resp = await http.post(url, data);
core.debug(`Docker Hub OIDC token request returned status code ${resp.message.statusCode || HttpCodes.InternalServerError}`);
}
return resp;
};
@@ -101,6 +111,7 @@ const parseRetryAfter = (value: string | string[] | undefined): number | null =>
const handleResponse = async (resp: httpm.HttpClientResponse): Promise<string> => {
const body = await resp.readBody();
const statusCode = resp.message.statusCode || HttpCodes.InternalServerError;
core.debug(`Docker Hub OIDC token response status code: ${statusCode}`);
if (statusCode < HttpCodes.OK || statusCode >= HttpCodes.MultipleChoices) {
throw parseError(statusCode, body);
}
+207 -196
View File
@@ -170,237 +170,237 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/client-ecr-public@npm:^3.1091.0":
version: 3.1091.0
resolution: "@aws-sdk/client-ecr-public@npm:3.1091.0"
"@aws-sdk/client-ecr-public@npm:^3.1132.0":
version: 3.1132.0
resolution: "@aws-sdk/client-ecr-public@npm:3.1132.0"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/credential-provider-node": "npm:^3.972.70"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/credential-provider-node": "npm:^3.972.83"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/fetch-http-handler": "npm:^5.7.2"
"@smithy/node-http-handler": "npm:^4.11.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/70da99ae235bfeb22ae8018860ae587ad77b0a17b89393a893f4a90625513ba0c69ab1f560ea0addae57361abb8f799a534b326fe58e741642049bfcf137cf25
checksum: 10/f38abe9a4ac11397d7659364d17187855cb2c4b36c5598b341864d41e50bbcfd1c9eb32daaff885c5735e9b927eaf6d6c5e53351062c0dea3ecd279bafc801e4
languageName: node
linkType: hard
"@aws-sdk/client-ecr@npm:^3.1091.0":
version: 3.1091.0
resolution: "@aws-sdk/client-ecr@npm:3.1091.0"
"@aws-sdk/client-ecr@npm:^3.1132.0":
version: 3.1132.0
resolution: "@aws-sdk/client-ecr@npm:3.1132.0"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/credential-provider-node": "npm:^3.972.70"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/credential-provider-node": "npm:^3.972.83"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/fetch-http-handler": "npm:^5.7.2"
"@smithy/node-http-handler": "npm:^4.11.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/622dce201f147c99017945ed479fac1ab12485c6612c4b7cd76eb1885965639073517d392b56c05ca6d88a1104c662608edd26c44930a0ee47f6bd6dc8d5956e
checksum: 10/7653b26457215d4c6fe19a792f3cde91ea771fd5077d4415c731eb17ce13f26e87ba2c37771dc7fef0c397ab191ef99418972e308df011049e4b375878995b1c
languageName: node
linkType: hard
"@aws-sdk/core@npm:^3.975.3":
version: 3.975.3
resolution: "@aws-sdk/core@npm:3.975.3"
"@aws-sdk/core@npm:^3.978.0":
version: 3.978.0
resolution: "@aws-sdk/core@npm:3.978.0"
dependencies:
"@aws-sdk/types": "npm:^3.974.2"
"@aws-sdk/xml-builder": "npm:^3.972.36"
"@aws-sdk/types": "npm:^3.974.5"
"@aws-sdk/xml-builder": "npm:^3.972.40"
"@aws/lambda-invoke-store": "npm:^0.3.0"
"@smithy/core": "npm:^3.29.4"
"@smithy/signature-v4": "npm:^5.6.5"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.33.3"
"@smithy/signature-v4": "npm:^5.6.12"
"@smithy/types": "npm:^4.17.2"
bowser: "npm:^2.11.0"
tslib: "npm:^2.6.2"
checksum: 10/a4be9e91891f6f2169cc694e8d4abe1a0bd83ed257af688d83617c428d54ad34516ccd4ed51854b4df9b81e585d30dfa9618cec75d2dfa6a8b7f5239d01913d4
checksum: 10/90747cbe497f71c90d5867c918e276338f2cae0d622f96ac359228792fe91ba6ec2ab30d14334556ad9e6afd4080f50edd514165b408b14088c3ea39101bd6dc
languageName: node
linkType: hard
"@aws-sdk/credential-provider-env@npm:^3.972.59":
version: 3.972.59
resolution: "@aws-sdk/credential-provider-env@npm:3.972.59"
"@aws-sdk/credential-provider-env@npm:^3.972.71":
version: 3.972.71
resolution: "@aws-sdk/credential-provider-env@npm:3.972.71"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/e9456725b6e1ad9c28f1901fa4275261821d8590e396c40f331d3bc59712533c7950216938260adb2fc63f72721a17f0b1acb36093a2c2242147039f00180fec
checksum: 10/f8e123108bcc9aabfee5ded9fdba3ec2a112f31cd0378704783089676fdff9782337414c15f9ad2cf95ac2695e343b317b0e3c05aea56ae11f181f08536a809e
languageName: node
linkType: hard
"@aws-sdk/credential-provider-http@npm:^3.972.61":
version: 3.972.61
resolution: "@aws-sdk/credential-provider-http@npm:3.972.61"
"@aws-sdk/credential-provider-http@npm:^3.972.73":
version: 3.972.73
resolution: "@aws-sdk/credential-provider-http@npm:3.972.73"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/fetch-http-handler": "npm:^5.7.2"
"@smithy/node-http-handler": "npm:^4.11.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/c8d8dba6bb6ae8816ac2ccad8cb661d30a73c8414abc73972c74ef0a50ccadfaaef59b051832648b57852934dc3051d0218bd805e6beff35537f3b8a00d881fb
checksum: 10/05d13079ee8a56f91621c4ba6874e9c154b30720a7eb8e0f4f99a55e53cc9a1f108bacfb010d43d0bc6a0b0e7609c26c6fb924936734dff5a1a670ec0a21415a
languageName: node
linkType: hard
"@aws-sdk/credential-provider-ini@npm:^3.973.4":
version: 3.973.4
resolution: "@aws-sdk/credential-provider-ini@npm:3.973.4"
"@aws-sdk/credential-provider-ini@npm:^3.973.16":
version: 3.973.16
resolution: "@aws-sdk/credential-provider-ini@npm:3.973.16"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/credential-provider-env": "npm:^3.972.59"
"@aws-sdk/credential-provider-http": "npm:^3.972.61"
"@aws-sdk/credential-provider-login": "npm:^3.972.66"
"@aws-sdk/credential-provider-process": "npm:^3.972.59"
"@aws-sdk/credential-provider-sso": "npm:^3.973.3"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.65"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/credential-provider-imds": "npm:^4.4.9"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/credential-provider-env": "npm:^3.972.71"
"@aws-sdk/credential-provider-http": "npm:^3.972.73"
"@aws-sdk/credential-provider-login": "npm:^3.972.78"
"@aws-sdk/credential-provider-process": "npm:^3.972.71"
"@aws-sdk/credential-provider-sso": "npm:^3.973.15"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.77"
"@aws-sdk/nested-clients": "npm:^3.997.45"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/credential-provider-imds": "npm:^4.4.16"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/4c0e53c8abfb10184984a2bd975d03bb850c0ff7a3d2a2e7c20413177cf1ac47869cc3f619084886bf933f96a36376896e0800c3ffe170ef470fedbdb114ead0
checksum: 10/eaa41b1b7b5b897e52b05236efc8c6a1251fe67a6dfd96bc79a205a73f3f7089534569500784cac29e29cce75db9ef98087cad1345e011bfeab856b88981cca8
languageName: node
linkType: hard
"@aws-sdk/credential-provider-login@npm:^3.972.66":
version: 3.972.66
resolution: "@aws-sdk/credential-provider-login@npm:3.972.66"
"@aws-sdk/credential-provider-login@npm:^3.972.78":
version: 3.972.78
resolution: "@aws-sdk/credential-provider-login@npm:3.972.78"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/nested-clients": "npm:^3.997.45"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/c9a4a5aab4f7de83c35f22c8fec13661e13939634a94c298ab1895b53a0ee477d4667ac1632007bc87daedbd3789742285e1b5882567497d7fe16a961f0afe95
checksum: 10/2e0ba744c29a4e43847cf2de41c2c38694a3be45fbabb85fa2c4410d5b9e2013e5ee9be9e37280561b0105f97d654137fccefd08704c81272d5c04ba9537fbaa
languageName: node
linkType: hard
"@aws-sdk/credential-provider-node@npm:^3.972.70":
version: 3.972.70
resolution: "@aws-sdk/credential-provider-node@npm:3.972.70"
"@aws-sdk/credential-provider-node@npm:^3.972.83":
version: 3.972.83
resolution: "@aws-sdk/credential-provider-node@npm:3.972.83"
dependencies:
"@aws-sdk/credential-provider-env": "npm:^3.972.59"
"@aws-sdk/credential-provider-http": "npm:^3.972.61"
"@aws-sdk/credential-provider-ini": "npm:^3.973.4"
"@aws-sdk/credential-provider-process": "npm:^3.972.59"
"@aws-sdk/credential-provider-sso": "npm:^3.973.3"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.65"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/credential-provider-imds": "npm:^4.4.9"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/credential-provider-env": "npm:^3.972.71"
"@aws-sdk/credential-provider-http": "npm:^3.972.73"
"@aws-sdk/credential-provider-ini": "npm:^3.973.16"
"@aws-sdk/credential-provider-process": "npm:^3.972.71"
"@aws-sdk/credential-provider-sso": "npm:^3.973.15"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.77"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/credential-provider-imds": "npm:^4.4.16"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/302b7e3776429c61f89f863fcc14ac866d13bd6513e8f15a09d5c56bc5e619a3b0461a680fedad97dcd3cc000ed8a3522d776b9b2ff326505e1fd1d872a96adf
checksum: 10/1b192bd6ae4ea086fe170ccb0a52607c37097a0718bace0a6f1e9edb65e3faa0bbcfc26e875bc65f4fa9501fed3e390478e2aaaaf0d1a57b062cfcc79b22cebb
languageName: node
linkType: hard
"@aws-sdk/credential-provider-process@npm:^3.972.59":
version: 3.972.59
resolution: "@aws-sdk/credential-provider-process@npm:3.972.59"
"@aws-sdk/credential-provider-process@npm:^3.972.71":
version: 3.972.71
resolution: "@aws-sdk/credential-provider-process@npm:3.972.71"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/91bdaea2ff81b054ce8e508d83d5efd825a87f22ac74ac2a9f41d8310cb1211a4be7b6f33b505da2e3570b163e22faa5dfc7acd9afc73e61b98a3afb5621891e
checksum: 10/4c35fe38e12b0215062b54b92f3fdcf482de724f10aaaaf4655c8914bee8963eedf849f836317678bb9c2b56e275287accdd7b84b94e6a5fedd6172420beb782
languageName: node
linkType: hard
"@aws-sdk/credential-provider-sso@npm:^3.973.3":
version: 3.973.3
resolution: "@aws-sdk/credential-provider-sso@npm:3.973.3"
"@aws-sdk/credential-provider-sso@npm:^3.973.15":
version: 3.973.15
resolution: "@aws-sdk/credential-provider-sso@npm:3.973.15"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/token-providers": "npm:3.1088.0"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/nested-clients": "npm:^3.997.45"
"@aws-sdk/token-providers": "npm:3.1129.0"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/c5194138240365f799c65c2e6daac956342e45bd2877615c959f62f1d378193509699d2480814aebdd07ce6440af05500df0aa54397d7b097371db423c0c4543
checksum: 10/f6e2578b6cab31a8dc573244c5f379338015bba34ca22a2240e204734642fbd18f3b75460ea3b8173e985a26edd6b9de07e598402745d4ac6f9568e0ea9882fd
languageName: node
linkType: hard
"@aws-sdk/credential-provider-web-identity@npm:^3.972.65":
version: 3.972.65
resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.65"
"@aws-sdk/credential-provider-web-identity@npm:^3.972.77":
version: 3.972.77
resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.77"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/nested-clients": "npm:^3.997.45"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/9a0f2aec505420929ea78d414e8561691d6fdc0de21f7d947dbb56269236ef16d11d518f31bb0b0ff154fb92039f94211440d113ed09af9965bd5c6d5be1f9cd
checksum: 10/15c4000a526a6416e6c7698c3f634a691275e0c5774efaa4151d8c2c08738c7b411451c0ebb7d5603789d006448743c8aa0cddd967500e0fe42afacd87d08d1b
languageName: node
linkType: hard
"@aws-sdk/nested-clients@npm:^3.997.33":
version: 3.997.33
resolution: "@aws-sdk/nested-clients@npm:3.997.33"
"@aws-sdk/nested-clients@npm:^3.997.45":
version: 3.997.45
resolution: "@aws-sdk/nested-clients@npm:3.997.45"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/signature-v4-multi-region": "npm:^3.996.41"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/signature-v4-multi-region": "npm:^3.996.46"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/fetch-http-handler": "npm:^5.7.2"
"@smithy/node-http-handler": "npm:^4.11.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/2a37d83609009b8b95b56658a48bb70fc56a1296d80701bfe12561aede13c6ebb9e678f3bfb20c5c4533ac6ebe63d4bec791760943c835917c95782eba0ec80c
checksum: 10/56124872e9062187f319d3c97f99252cc2826a7c1128d86944adf20bc1f64bff84bc88c40e5f14deb16e0bf8fd5aac6f6be4ae3c116cb0bb0a306945e134817b
languageName: node
linkType: hard
"@aws-sdk/signature-v4-multi-region@npm:^3.996.41":
version: 3.996.41
resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.41"
"@aws-sdk/signature-v4-multi-region@npm:^3.996.46":
version: 3.996.46
resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.46"
dependencies:
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/signature-v4": "npm:^5.6.5"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/signature-v4": "npm:^5.6.12"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/564a619949bd62e0f53543a7193313d994351d4c710d721f926c65f58872f2de7fcce7a0f915e03968ed67a6b2ad110bdf915e1320e5590d9e04a0cbe0f48e0b
checksum: 10/2f32c081210ba41f24f0adee3fbcdf8486d91b12c023cb6414e77dadd66737e472016c142154696fa97afd1bcdc3b1a0d3c3f9695ee2b0369ec1867d110fb65f
languageName: node
linkType: hard
"@aws-sdk/token-providers@npm:3.1088.0":
version: 3.1088.0
resolution: "@aws-sdk/token-providers@npm:3.1088.0"
"@aws-sdk/token-providers@npm:3.1129.0":
version: 3.1129.0
resolution: "@aws-sdk/token-providers@npm:3.1129.0"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.978.0"
"@aws-sdk/nested-clients": "npm:^3.997.45"
"@aws-sdk/types": "npm:^3.974.5"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/ae399cc5f0589f00514079f79ab1e680fee104d433d8aed80c6f761bb4cb3c5176667a0c567726a22399242a817dfd9624094801da8fbb6f14c5c8bbb882caaf
checksum: 10/1d53d8d70f4939e765ae1bde296111655bd70d05d6464dbc9e1833d20be62946b8651b36ca1553b49fdfd65068bb2a0ef2e8a59167dd229632e97a72ab593649
languageName: node
linkType: hard
"@aws-sdk/types@npm:^3.974.2":
version: 3.974.2
resolution: "@aws-sdk/types@npm:3.974.2"
"@aws-sdk/types@npm:^3.974.5":
version: 3.974.5
resolution: "@aws-sdk/types@npm:3.974.5"
dependencies:
"@smithy/types": "npm:^4.16.1"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/12a2a3c13507211881d91d9186c0d20b138a569ab8e1937744393d2bcb14dc01257a97de42dd7ef002500a49f0237ce1faeb11e5a9c607d4ad16fd63357cefee
checksum: 10/df23a788b562adc18c5833f07e5591a57428b74893e0603cba5866de9a4f7c3f3878a678a2509267a71be65265f9f5983276ab1c182bfbb98ba586c005d50fb4
languageName: node
linkType: hard
"@aws-sdk/xml-builder@npm:^3.972.36":
version: 3.972.36
resolution: "@aws-sdk/xml-builder@npm:3.972.36"
"@aws-sdk/xml-builder@npm:^3.972.40":
version: 3.972.40
resolution: "@aws-sdk/xml-builder@npm:3.972.40"
dependencies:
"@smithy/types": "npm:^4.16.1"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/8080815b2061ff64b0343f4bf9899ee7b90839e56cbd869ed96a29716678f71a5589a07ee6d4bea4cb40561b37cae58b899e3ed08fec36168c332664632f5214
checksum: 10/d23f0c0bc289045960982181d6979d0535fca6516a57e79ad3845bd6a5166d38a3ca4e755fc77c9fc674c55ec8f68eac2d4ccbda289d846a3734c572a08d6dc3
languageName: node
linkType: hard
@@ -1956,66 +1956,66 @@ __metadata:
languageName: node
linkType: hard
"@smithy/core@npm:^3.29.4, @smithy/core@npm:^3.29.6":
version: 3.29.6
resolution: "@smithy/core@npm:3.29.6"
"@smithy/core@npm:^3.33.2, @smithy/core@npm:^3.33.3":
version: 3.34.1
resolution: "@smithy/core@npm:3.34.1"
dependencies:
"@smithy/types": "npm:^4.16.1"
"@smithy/types": "npm:^4.18.0"
tslib: "npm:^2.6.2"
checksum: 10/12c3021c0bda41e6201dc53c975e9a6d8b8635209004230795d11d9db96d787f593db7d8673a7b2584f143e98c3c0ba4743c698d2844a114a5e2d0fdb8382444
checksum: 10/e5f1af592334ffb7a4d5bafa851f00d276246398d7aebc1261ee83148282903e0de004ea987a626e05dc5bafe2cb58e338e5bd87b89fd4d54b83a2caf5a0af5b
languageName: node
linkType: hard
"@smithy/credential-provider-imds@npm:^4.4.9":
version: 4.4.11
resolution: "@smithy/credential-provider-imds@npm:4.4.11"
"@smithy/credential-provider-imds@npm:^4.4.16":
version: 4.5.2
resolution: "@smithy/credential-provider-imds@npm:4.5.2"
dependencies:
"@smithy/core": "npm:^3.29.6"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.33.2"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/f3ff9bcdac8ed871558106ee36e1b4fa29155de5d3fa630557beced910cb75fc222478b2806d6275dbae71e14307a55c508546195c65a54019ab49a949d1f03d
checksum: 10/5db260066aa97e2a7eca5258ff1c1dd1234cd2ed28e3b7ec36cbcf578007878853fa787cb48df2fd070fb0440a8c537d628344b1fd4ec589aaa2fa154d150b3e
languageName: node
linkType: hard
"@smithy/fetch-http-handler@npm:^5.6.6":
version: 5.6.8
resolution: "@smithy/fetch-http-handler@npm:5.6.8"
"@smithy/fetch-http-handler@npm:^5.7.2":
version: 5.8.0
resolution: "@smithy/fetch-http-handler@npm:5.8.0"
dependencies:
"@smithy/core": "npm:^3.29.6"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.18.0"
tslib: "npm:^2.6.2"
checksum: 10/996e5c8bd9b2b78d8c0395ef5c602063ba393714ea89bd459c31225117e3aaca167adae68738a47c491d6346402ff7a6f95d4d36dbf5079185ec521ec6c563ec
checksum: 10/9f5374a6d2db6a1314393a05f9500efc0b73a0ef9d491a9e64aab6fdc8e0ce39214a5ec0b6af3bf5c948e452c7f91f91b0cda13d3325399276811392b3ac36b7
languageName: node
linkType: hard
"@smithy/node-http-handler@npm:^4.9.6":
version: 4.9.8
resolution: "@smithy/node-http-handler@npm:4.9.8"
"@smithy/node-http-handler@npm:^4.11.3":
version: 4.12.1
resolution: "@smithy/node-http-handler@npm:4.12.1"
dependencies:
"@smithy/core": "npm:^3.29.6"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.18.0"
tslib: "npm:^2.6.2"
checksum: 10/defb5c0603b133172b80693243856fe602f45f2c4653f303bc61e9c37c21a5610fb2b037cc359a4f8c5ff6d875fded737c69a6bdc6df3de47ddddbb11e1bf44d
checksum: 10/291ab9053afeefc7f6524c18dd5ade4aab42af7fddba7d5c087c23c23d4d686fc9f6674c5c28aa1af708d93db9fc2be18999cd64bbbbed8b88f2004a0aa37bbf
languageName: node
linkType: hard
"@smithy/signature-v4@npm:^5.6.5":
version: 5.6.7
resolution: "@smithy/signature-v4@npm:5.6.7"
"@smithy/signature-v4@npm:^5.6.12":
version: 5.7.3
resolution: "@smithy/signature-v4@npm:5.7.3"
dependencies:
"@smithy/core": "npm:^3.29.6"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.33.3"
"@smithy/types": "npm:^4.17.2"
tslib: "npm:^2.6.2"
checksum: 10/5d400218cefae842ce0a81c56bf554cd8822db1b6c16fb1ece03f05ce69cd590b4ec0eb78fc1acd39491697b77f4c079121787258b8ce5b1081c62c06260ae9b
checksum: 10/8f18091aedd508ac746570b1eb811fd30147112dc359909d8400d155f759bdda16a8f1b03ddfdb641190e18f8fac8915be151b2d68e200c58b1c6821800502f8
languageName: node
linkType: hard
"@smithy/types@npm:^4.16.1":
version: 4.16.1
resolution: "@smithy/types@npm:4.16.1"
"@smithy/types@npm:^4.17.2, @smithy/types@npm:^4.18.0":
version: 4.18.0
resolution: "@smithy/types@npm:4.18.0"
dependencies:
tslib: "npm:^2.6.2"
checksum: 10/23651203f2e8800b2b2311ef163ddec166d91e15b30fa1c877be352aeef8ae7cc7b0189f99e07b0dcd52160b10adfb3fa4ca32c38a2d7195fc5428b8986d5201
checksum: 10/18719c5ae8eef71ef10d79e8628b528a9f0aede5fb036c9a798f676b7b4a35efd10fc0d3b7e1f8921746c66c4ae2a8277570f99a0545fbc4eae6c994997f83cd
languageName: node
linkType: hard
@@ -3156,8 +3156,8 @@ __metadata:
dependencies:
"@actions/core": "npm:^3.0.1"
"@actions/http-client": "npm:^4.0.1"
"@aws-sdk/client-ecr": "npm:^3.1091.0"
"@aws-sdk/client-ecr-public": "npm:^3.1091.0"
"@aws-sdk/client-ecr": "npm:^3.1132.0"
"@aws-sdk/client-ecr-public": "npm:^3.1132.0"
"@docker/actions-toolkit": "npm:^0.94.0"
"@eslint/js": "npm:^9.39.3"
"@types/js-yaml": "npm:^4.0.9"
@@ -3174,7 +3174,7 @@ __metadata:
globals: "npm:^17.3.0"
http-proxy-agent: "npm:^9.1.0"
https-proxy-agent: "npm:^9.1.0"
js-yaml: "npm:^5.2.1"
js-yaml: "npm:^5.2.2"
prettier: "npm:^3.8.1"
typescript: "npm:^5.9.3"
uuid: "npm:^14.0.1"
@@ -4357,6 +4357,17 @@ __metadata:
languageName: node
linkType: hard
"js-yaml@npm:^5.2.2":
version: 5.2.2
resolution: "js-yaml@npm:5.2.2"
dependencies:
argparse: "npm:^2.0.1"
bin:
js-yaml: bin/js-yaml.mjs
checksum: 10/2b4c2933af12c97e1c4894a4f27fe9b06dab70a64a96bb50624b4429bef6bf11008bde20d868bce52a36784473314efc30078ba6025b58cf7537961e23b1ae9c
languageName: node
linkType: hard
"jsbn@npm:1.1.0":
version: 1.1.0
resolution: "jsbn@npm:1.1.0"
@@ -4853,12 +4864,12 @@ __metadata:
languageName: node
linkType: hard
"nanoid@npm:^3.3.11":
version: 3.3.11
resolution: "nanoid@npm:3.3.11"
"nanoid@npm:^3.3.16":
version: 3.3.16
resolution: "nanoid@npm:3.3.16"
bin:
nanoid: bin/nanoid.cjs
checksum: 10/73b5afe5975a307aaa3c95dfe3334c52cdf9ae71518176895229b8d65ab0d1c0417dd081426134eb7571c055720428ea5d57c645138161e7d10df80815527c48
checksum: 10/8004af92b5541af1dbd23b69845b5026f777d5b7ef07163cea1837aae86e052ced8b383cecbf8a4f1b5e77ae207df96dc45e16b9e0fa3c4b761d085f1e42851b
languageName: node
linkType: hard
@@ -5281,13 +5292,13 @@ __metadata:
linkType: hard
"postcss@npm:^8.5.6":
version: 8.5.10
resolution: "postcss@npm:8.5.10"
version: 8.5.22
resolution: "postcss@npm:8.5.22"
dependencies:
nanoid: "npm:^3.3.11"
nanoid: "npm:^3.3.16"
picocolors: "npm:^1.1.1"
source-map-js: "npm:^1.2.1"
checksum: 10/7eac6169e535b63c8412e94d4f6047fc23efa3e9dde804b541940043c831b25f1cd867d83cd2c4371ad2450c8abcb42c208aa25668c1f0f3650d7f72faf711a8
checksum: 10/7944444f267f2d94c7caeed66f3da56d5b947bd4a7e57a166a5161af25c6006dd73f40e2a1a6822f3d7fccc2fa005778c03058368eb7efca1b5038aec55abd14
languageName: node
linkType: hard