Compare commits

..

No commits in common. "master" and "v3.4.0" have entirely different histories.

25 changed files with 411 additions and 748 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1 @@
* @crazy-max

View File

@ -1,3 +0,0 @@
# Code of conduct
- [Moby community guidelines](https://github.com/moby/moby/blob/master/CONTRIBUTING.md#moby-community-guidelines)

View File

@ -7,13 +7,13 @@ to the public under the [project's open source license](LICENSE).
## Submitting a pull request ## Submitting a pull request
1. [Fork](https://github.com/docker/setup-docker-action/fork) and clone the repository 1. [Fork](https://github.com/crazy-max/ghaction-setup-docker/fork) and clone the repository
2. Configure and install the dependencies: `yarn install` 2. Configure and install the dependencies: `yarn install`
3. Create a new branch: `git checkout -b my-branch-name` 3. Create a new branch: `git checkout -b my-branch-name`
4. Make your changes 4. Make your changes
5. Format code and build javascript artifacts: `docker buildx bake pre-checkin` 5. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
6. Validate all code has correctly formatted and built: `docker buildx bake validate` 6. Validate all code has correctly formatted and built: `docker buildx bake validate`
7. Push to your fork and [submit a pull request](https://github.com/docker/setup-docker-action/compare) 7. Push to your fork and [submit a pull request](https://github.com/crazy-max/ghaction-setup-docker/compare)
8. Pat your self on the back and wait for your pull request to be reviewed and merged. 8. Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted: Here are a few things you can do that will increase the likelihood of your pull request being accepted:

View File

@ -1,102 +0,0 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Bug Report
description: Report a bug
labels:
- status/triage
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!
If this is a security issue please report it to the [Docker Security team](mailto:security@docker.com).
Before submitting a bug report, check out the [Troubleshooting doc](https://github.com/docker/setup-docker-action/blob/master/TROUBLESHOOTING.md).
- type: checkboxes
attributes:
label: Contributing guidelines
description: >
Make sure you've read the contributing guidelines before proceeding.
options:
- label: I've read the [contributing guidelines](https://github.com/docker/setup-docker-action/blob/master/.github/CONTRIBUTING.md) and wholeheartedly agree
required: true
- type: checkboxes
attributes:
label: "I've found a bug, and:"
description: |
Make sure that your request fulfills all of the following requirements.
If one requirement cannot be satisfied, explain in detail why.
options:
- label: The documentation does not mention anything about my problem
- label: There are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: >
Provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: >
Describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
description: >
Describe precisely what is actually happening.
validations:
required: true
- type: input
attributes:
label: Repository URL
description: >
Enter the URL of the repository where you are experiencing the
issue. If your repository is private, provide a link to a minimal
repository that reproduces the issue.
- type: input
attributes:
label: Workflow run URL
description: >
Enter the URL of the GitHub Action workflow run if public (e.g.
`https://github.com/<user>/<repo>/actions/runs/<id>`)
- type: textarea
attributes:
label: YAML workflow
description: |
Provide the YAML of the workflow that's causing the issue.
Make sure to remove any sensitive information.
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Workflow logs
description: >
[Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
and make sure to remove any sensitive information.
- type: textarea
attributes:
label: Docker daemon logs
description: >
If applicable, provide the Docker logs available in post step.
render: text
- type: textarea
attributes:
label: Additional info
description: |
Provide any additional information that could be useful.

34
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,34 @@
---
name: Bug report
about: Create a report to help us improve
---
### Behaviour
#### Steps to reproduce this issue
1.
2.
3.
#### Expected behaviour
> Tell us what should happen
#### Actual behaviour
> Tell us what happens instead
### Configuration
* Repository URL (if public):
* Build URL (if public):
```yml
# paste your YAML workflow file here and remove sensitive data
```
### Logs
> Download the [log file of your build](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
> and [attach it](https://docs.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.

View File

@ -1,6 +0,0 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true
contact_links:
- name: Questions and Discussions
url: https://github.com/docker/setup-docker-action/discussions/new
about: Use Github Discussions to ask questions and/or open discussion topics.

View File

@ -1,15 +0,0 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Missing functionality? Come tell us about it!
labels:
- kind/enhancement
- status/triage
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the feature you want to see?
validations:
required: true

12
.github/SECURITY.md vendored
View File

@ -1,12 +0,0 @@
# Reporting security issues
The project maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
**Please _DO NOT_ file a public issue**, instead send your report privately to
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated, and we will publicly thank you for it.
We also like to send gifts&mdash;if you'd like Docker swag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.

31
.github/SUPPORT.md vendored Normal file
View File

@ -0,0 +1,31 @@
# Support [![](https://isitmaintained.com/badge/resolution/crazy-max/ghaction-setup-docker.svg)](https://isitmaintained.com/project/crazy-max/ghaction-setup-docker)
First, [be a good guy](https://github.com/kossnocorp/etiquette/blob/master/README.md).
## Reporting an issue
Please do a search in [open issues](https://github.com/crazy-max/ghaction-setup-docker/issues?utf8=%E2%9C%93&q=) to see if the issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.
:+1: - upvote
:-1: - downvote
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
## Writing good bug reports and feature requests
File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
You are now ready to [create a new issue](https://github.com/crazy-max/ghaction-setup-docker/issues/new/choose)!
## Closure policy
* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.

View File

@ -17,8 +17,7 @@ on:
pull_request: pull_request:
env: env:
DOCKER_VERSION: v27.3.1 DOCKER_VERSION: v24.0.9
DOCKER_BUILD_SUMMARY: false
jobs: jobs:
main: main:
@ -28,23 +27,37 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
- ubuntu-24.04-arm
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 #- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13 - macos-13
- windows-latest - windows-latest
version: version:
- "" - pinned
- v27.3.1 - latest
- type=image,tag=27.3.1
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Set up QEMU
if: startsWith(matrix.os, 'macos')
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
-
name: Set version
shell: bash
run: |
if [ "${{ matrix.version }}" != "pinned" ]; then
echo "DOCKER_VERSION=${{ matrix.version }}" >> $GITHUB_ENV
fi
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
with: with:
version: ${{ matrix.version }} version: ${{ env.DOCKER_VERSION }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
channel: channel:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -53,7 +66,6 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
- ubuntu-24.04-arm
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 #- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13 - macos-13
- windows-latest - windows-latest
@ -61,12 +73,21 @@ jobs:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Set up QEMU
if: startsWith(matrix.os, 'macos')
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
with: with:
version: ${{ env.DOCKER_VERSION }} version: v24.0.0-rc.4
channel: test channel: test
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
daemon-config: daemon-config:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -75,7 +96,6 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
- ubuntu-24.04-arm
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 #- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13 - macos-13
- windows-latest - windows-latest
@ -83,11 +103,15 @@ jobs:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Set up QEMU
if: startsWith(matrix.os, 'macos')
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
with: with:
version: ${{ env.DOCKER_VERSION }}
daemon-config: | daemon-config: |
{ {
"debug": true, "debug": true,
@ -95,6 +119,10 @@ jobs:
"containerd-snapshotter": true "containerd-snapshotter": true
} }
} }
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
context: context:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -103,7 +131,6 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
- ubuntu-24.04-arm
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 #- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13 - macos-13
- windows-latest - windows-latest
@ -111,6 +138,11 @@ jobs:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Set up QEMU
if: startsWith(matrix.os, 'macos')
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@ -121,6 +153,10 @@ jobs:
name: Check context name: Check context
run: | run: |
docker context inspect foo docker context inspect foo
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
lima-start-args: lima-start-args:
#runs-on: macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 #runs-on: macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
@ -129,11 +165,13 @@ jobs:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Set up QEMU
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
with:
version: ${{ env.DOCKER_VERSION }}
env: env:
LIMA_START_ARGS: --cpus 4 --memory 8 LIMA_START_ARGS: --cpus 4 --memory 8
@ -181,6 +219,10 @@ jobs:
name: Inspect name: Inspect
run: | run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}' docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
build-macos: build-macos:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -190,10 +232,16 @@ jobs:
os: os:
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 #- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13 - macos-13
- macos-12
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Set up QEMU
if: startsWith(matrix.os, 'macos')
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@ -221,6 +269,10 @@ jobs:
name: Inspect name: Inspect
run: | run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}' docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
build-windows: build-windows:
runs-on: windows-latest runs-on: windows-latest
@ -242,6 +294,10 @@ jobs:
name: Inspect name: Inspect
run: | run: |
docker image inspect test docker image inspect test
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
set-host: set-host:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -253,79 +309,12 @@ jobs:
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
with: with:
version: ${{ env.DOCKER_VERSION }}
set-host: true set-host: true
- -
name: List contexts name: List contexts
run: | run: |
docker context ls docker context ls
rootless:
runs-on: ubuntu-latest
steps:
- -
name: Checkout name: Dump context
uses: actions/checkout@v4 if: always()
- uses: crazy-max/ghaction-dump-context@v2
name: Set up Docker
uses: ./
with:
version: ${{ env.DOCKER_VERSION }}
rootless: true
-
name: List contexts
run: |
docker context ls
tcp:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker
id: setup_docker
uses: ./
with:
version: ${{ env.DOCKER_VERSION }}
tcp-port: 2378
-
name: Check docker info through TCP
run: |
docker info
env:
DOCKER_HOST: ${{ steps.setup_docker.outputs.tcp }}
undock-regctl-version:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
undock_version:
- ''
- v0.9.0
regctl_version:
- ''
- v0.8.2
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
version: type=image
env:
UNDOCK_VERSION: ${{ matrix.undock_version }}
REGCTL_VERSION: ${{ matrix.regctl_version }}

View File

@ -1,17 +0,0 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target:
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@1b673f36fad86812f538c1df9794904038a23cbf
permissions:
contents: read
pull-requests: write

View File

@ -1,21 +0,0 @@
name: publish
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Publish
uses: actions/publish-immutable-action@v0.0.4

View File

@ -20,13 +20,12 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- -
name: Test name: Test
uses: docker/bake-action@v6 uses: docker/bake-action@v5
with: with:
targets: test targets: test
- -
name: Upload coverage name: Upload coverage
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v4
with: with:
source: . file: ./coverage/clover.xml
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}

View File

@ -15,17 +15,16 @@ jobs:
prepare: prepare:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
targets: ${{ steps.generate.outputs.targets }} targets: ${{ steps.targets.outputs.matrix }}
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- -
name: List targets name: Targets matrix
id: generate id: targets
uses: docker/bake-action/subaction/list-targets@v6 run: |
with: echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
target: validate
validate: validate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -36,8 +35,11 @@ jobs:
matrix: matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }} target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps: steps:
-
name: Checkout
uses: actions/checkout@v4
- -
name: Validate name: Validate
uses: docker/bake-action@v6 uses: docker/bake-action@v5
with: with:
targets: ${{ matrix.target }} targets: ${{ matrix.target }}

132
README.md
View File

@ -1,21 +1,14 @@
[![GitHub release](https://img.shields.io/github/release/docker/setup-docker-action.svg?style=flat-square)](https://github.com/docker/setup-docker-action/releases/latest) [![GitHub release](https://img.shields.io/github/release/crazy-max/ghaction-setup-docker.svg?style=flat-square)](https://github.com/crazy-max/ghaction-setup-docker/releases/latest)
[![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--setup--docker-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-setup-docker) [![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--setup--docker-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-setup-docker)
[![CI workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-docker-action/ci.yml?branch=master&label=ci&logo=github&style=flat-square)](https://github.com/docker/setup-docker-action/actions?workflow=ci) [![CI workflow](https://img.shields.io/github/actions/workflow/status/crazy-max/ghaction-setup-docker/ci.yml?branch=master&label=ci&logo=github&style=flat-square)](https://github.com/crazy-max/ghaction-setup-docker/actions?workflow=ci)
[![Test workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-docker-action/test.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/docker/setup-docker-action/actions?workflow=test) [![Test workflow](https://img.shields.io/github/actions/workflow/status/crazy-max/ghaction-setup-docker/test.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/crazy-max/ghaction-setup-docker/actions?workflow=test)
[![Codecov](https://img.shields.io/codecov/c/github/docker/setup-docker-action?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/setup-docker-action) [![Codecov](https://img.shields.io/codecov/c/github/crazy-max/ghaction-setup-docker?logo=codecov&style=flat-square)](https://codecov.io/gh/crazy-max/ghaction-setup-docker)
## About ## About
GitHub Action to set up (download and install) [Docker CE](https://docs.docker.com/engine/). GitHub Action to set up (download and install) [Docker CE](https://docs.docker.com/engine/).
Works on Linux, macOS and Windows. Works on Linux, macOS and Windows.
> [!NOTE]
> This action is useful if you want to pin against a specific Docker version or
> set up a custom daemon configuration or if Docker is not available on your
> runner. If you're using [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
> on Linux or Windows, Docker is already up and running, so it might not be
> necessary to use this action.
> [!WARNING] > [!WARNING]
> Does not work on macOS runners with ARM architecture (no nested virtualization): > Does not work on macOS runners with ARM architecture (no nested virtualization):
> * https://github.com/crazy-max/ghaction-setup-docker/pull/53 > * https://github.com/crazy-max/ghaction-setup-docker/pull/53
@ -31,7 +24,6 @@ ___
* [Define custom `limactl start` arguments (macOS)](#define-custom-limactl-start-arguments-macos) * [Define custom `limactl start` arguments (macOS)](#define-custom-limactl-start-arguments-macos)
* [Customizing](#customizing) * [Customizing](#customizing)
* [inputs](#inputs) * [inputs](#inputs)
* [inputs.version](#inputsversion)
* [outputs](#outputs) * [outputs](#outputs)
* [Contributing](#contributing) * [Contributing](#contributing)
* [License](#license) * [License](#license)
@ -52,9 +44,32 @@ jobs:
steps: steps:
- -
name: Set up Docker name: Set up Docker
uses: docker/setup-docker-action@v4 uses: crazy-max/ghaction-setup-docker@v3
``` ```
> [!IMPORTANT]
> macOS runners hang with latest QEMU 9.1.0. You need to install QEMU 9.0.2 as
> a workaround:
> ```yaml
> name: ci
>
> on:
> push:
>
> jobs:
> docker:
> runs-on: macos-13
> steps:
> -
> # https://github.com/crazy-max/ghaction-setup-docker/issues/108
> name: Install QEMU 9.0.2
> uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
> -
> name: Set up Docker
> uses: crazy-max/ghaction-setup-docker@v3
> ```
> More info: https://github.com/crazy-max/ghaction-setup-docker/issues/108.
### Daemon configuration ### Daemon configuration
You can [configure the Docker daemon](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) You can [configure the Docker daemon](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file)
@ -74,7 +89,7 @@ jobs:
steps: steps:
- -
name: Set up Docker name: Set up Docker
uses: docker/setup-docker-action@v4 uses: crazy-max/ghaction-setup-docker@v3
with: with:
daemon-config: | daemon-config: |
{ {
@ -102,7 +117,7 @@ jobs:
steps: steps:
- -
name: Set up Docker name: Set up Docker
uses: docker/setup-docker-action@v4 uses: crazy-max/ghaction-setup-docker@v3
env: env:
LIMA_START_ARGS: --cpus 4 --memory 8 LIMA_START_ARGS: --cpus 4 --memory 8
``` ```
@ -115,93 +130,28 @@ The following inputs can be used as `step.with` keys
| Name | Type | Default | Description | | Name | Type | Default | Description |
|-----------------|--------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------| |-----------------|--------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------|
| `version` | String | `latest` | Docker version to use. See [inputs.version](#inputs.version). | | `version` | String | `latest` | Docker CE version (e.g., `v24.0.6`). |
| `channel` | String | `stable` | Docker CE [channel](https://download.docker.com/linux/static/) (`stable` or `test`). Only applicable to `type=archive` | | `channel` | String | `stable` | Docker CE [channel](https://download.docker.com/linux/static/) (e.g, `stable`, `edge` or `test`). |
| `daemon-config` | String | | [Docker daemon JSON configuration](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) | | `daemon-config` | String | | [Docker daemon JSON configuration](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) |
| `tcp-port` | Number | | TCP port to expose the Docker API locally |
| `context` | String | `setup-docker-action` | Docker context name. | | `context` | String | `setup-docker-action` | Docker context name. |
| `set-host` | Bool | `false` | Set `DOCKER_HOST` environment variable to docker socket path. | | `set-host` | Bool | `false` | Set `DOCKER_HOST` environment variable to docker socket path. |
| `rootless` | Bool | `false` | Start daemon in rootless mode |
### inputs.version
By default, the latest stable version of Docker is fetched from download.docker.com.
You can specify a specific version number (e.g. `v27.4.0`).
Which is a shorthand for the full comma separated value:
`type=archive,channel=stable,version=v27.4.0`
You can also use this full csv format instead.
Currently supported source types are:
- `archive`
- `image`
#### `type=archive`
| Key | Default | Description |
|-----------|------------|--------------------------------------------------------------------------------------|
| `type` | `archive` | The source type of the Docker binaries. Possible values are `archive` and `image`. |
| `channel` | `stable` | The download.docker.com channel (`stable` or `test`). |
| `version` | `latest` | The Docker version to use. |
Examples:
```yaml
# last stable released version
version: latest
version: type=archive # same as above
version: version=latest # same as above
version: type=archive,version=latest # same as above
```
```yaml
# v27.3.0-rc.1 from test channel
version: type=archive,version=27.3.0-rc.1,channel=test
```
#### `type=image`
Other possible source type is `image` which will pull the Docker binaries from the `moby/moby-bin` and
`dockereng/cli-bin` Docker Hub repositories.
The advantage of using this source type is that these images are built by the Moby and Docker CI pipelines
for each branch and PR, so you can use the `tag` input to install a specific version or branch (e.g. `master`).
| Key | Default | Description |
|-----------|------------|--------------------------------------------------------------------------------------|
| `tag` | `latest` | The image tag to use. |
See https://hub.docker.com/r/moby/moby-bin/tags and https://hub.docker.com/r/dockereng/cli-bin/tags for available tags.
Examples:
```yaml
# install last stable released version from bin images
version: type=image
version: type=image,tag=latest # same as above
```
```yaml
# a cutting-edge version from the `master` branch
version: type=image,tag=master
```
```yaml
# install v27.4.0 from bin images
version: type=image,tag=27.4.0
```
### outputs ### outputs
The following outputs are available The following outputs are available
| Name | Type | Description | | Name | Type | Description |
|--------|--------|---------------------------------------| |--------|--------|--------------------|
| `sock` | String | Docker socket path | | `sock` | String | Docker socket path |
| `tcp` | String | Docker TCP address if tcp-port is set |
## Contributing ## Contributing
Want to contribute? Awesome! You can find information about contributing to Want to contribute? Awesome! The most basic way to show your support is to star
this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md) the project, or to raise issues. You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max)
or by making a [PayPal donation](https://www.paypal.me/crazyws) to ensure this
journey continues indefinitely!
Thanks again for your support, it is much appreciated! :pray:
## License ## License

View File

@ -19,17 +19,12 @@ describe('getInputs', () => {
new Map<string, string>([ new Map<string, string>([
['version', 'v24.0.8'], ['version', 'v24.0.8'],
['set-host', 'false'], ['set-host', 'false'],
['rootless', 'false'],
]), ]),
{ {
source: { version: 'v24.0.8',
type: 'archive', channel: '',
version: 'v24.0.8',
channel: 'stable'
},
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false,
setHost: false setHost: false
} as context.Inputs } as context.Inputs
], ],
@ -41,17 +36,12 @@ describe('getInputs', () => {
['context', 'foo'], ['context', 'foo'],
['daemon-config', `{"debug":true,"features":{"containerd-snapshotter":true}}`], ['daemon-config', `{"debug":true,"features":{"containerd-snapshotter":true}}`],
['set-host', 'false'], ['set-host', 'false'],
['rootless', 'false'],
]), ]),
{ {
source: { version: 'v24.0.0-rc.4',
type: 'archive', channel: 'test',
version: 'v24.0.0-rc.4',
channel: 'test'
},
context: 'foo', context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`, daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false,
setHost: false setHost: false
} as context.Inputs } as context.Inputs
], ],
@ -59,153 +49,15 @@ describe('getInputs', () => {
2, 2,
new Map<string, string>([ new Map<string, string>([
['set-host', 'true'], ['set-host', 'true'],
['rootless', 'false'],
]), ]),
{ {
source: { version: 'latest',
type: 'archive', channel: '',
version: 'latest',
channel: 'stable',
},
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false,
setHost: true setHost: true
} as context.Inputs } as context.Inputs
], ]
[
3,
new Map<string, string>([
['version', 'type=image,tag=master'],
['context', 'foo'],
['daemon-config', `{"debug":true,"features":{"containerd-snapshotter":true}}`],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'image',
tag: 'master',
},
context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false,
setHost: false
} as context.Inputs
],
[
4,
new Map<string, string>([
['version', 'type=image'],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'image',
tag: 'latest',
},
context: '',
daemonConfig: '',
rootless: false,
setHost: false
} as context.Inputs
],
[
5,
new Map<string, string>([
['version', 'type=archive'],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'archive',
version: 'latest',
channel: 'stable',
},
setHost: false,
context: '',
daemonConfig: '',
rootless: false,
} as context.Inputs
],
[
6,
new Map<string, string>([
['version', 'version=v27.2.0,channel=test'],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'archive',
version: 'v27.2.0',
channel: 'test',
},
setHost: false,
context: '',
daemonConfig: '',
rootless: false,
} as context.Inputs
],
[
7,
new Map<string, string>([
['version', 'type=image,tag=27.2.1'],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'image',
tag: '27.2.1',
},
setHost: false,
context: '',
daemonConfig: '',
rootless: false,
} as context.Inputs
],
[
8,
new Map<string, string>([
['version', 'type=image,tag=27.2.1'],
['set-host', 'false'],
['rootless', 'true']
]),
{
source: {
type: 'image',
tag: '27.2.1',
},
setHost: false,
context: '',
daemonConfig: '',
rootless: true,
} as context.Inputs
],
[
9,
new Map<string, string>([
['version', 'v24.0.8'],
['tcp-port', '2378'],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'archive',
version: 'v24.0.8',
channel: 'stable'
},
context: '',
daemonConfig: '',
tcpPort: 2378,
rootless: false,
setHost: false
} as context.Inputs
],
])( ])(
'[%d] given %p as inputs, returns %p', '[%d] given %p as inputs, returns %p',
async (num: number, inputs: Map<string, string>, expected: context.Inputs) => { async (num: number, inputs: Map<string, string>, expected: context.Inputs) => {

View File

@ -1,7 +1,7 @@
# https://help.github.com/en/articles/metadata-syntax-for-github-actions # https://help.github.com/en/articles/metadata-syntax-for-github-actions
name: Docker Setup Docker name: 'Docker Setup Docker'
description: Set up Docker for use in GitHub Actions by downloading and installing a version of Docker CE description: 'Set up Docker for use in GitHub Actions by downloading and installing a version of Docker CE'
author: docker author: 'crazy-max'
branding: branding:
icon: 'anchor' icon: 'anchor'
color: 'blue' color: 'blue'
@ -17,9 +17,6 @@ inputs:
daemon-config: daemon-config:
description: 'Docker daemon JSON configuration' description: 'Docker daemon JSON configuration'
required: false required: false
tcp-port:
description: 'TCP port to expose the Docker API locally'
required: false
context: context:
description: 'Docker context name. (default setup-docker-action)' description: 'Docker context name. (default setup-docker-action)'
required: false required: false
@ -27,16 +24,10 @@ inputs:
description: 'Set DOCKER_HOST environment variable to docker socket path' description: 'Set DOCKER_HOST environment variable to docker socket path'
default: 'false' default: 'false'
required: false required: false
rootless:
description: 'Enable Docker rootless mode'
default: 'false'
required: false
outputs: outputs:
sock: sock:
description: "Docker socket path" description: "Docker socket path"
tcp:
description: "Docker TCP address if tcp-port is set"
runs: runs:
using: 'node20' using: 'node20'

30
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

6
dist/licenses.txt generated vendored
View File

@ -2532,6 +2532,9 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
dot-object
MIT
encoding encoding
MIT MIT
Copyright (c) 2012-2014 Andris Reinman Copyright (c) 2012-2014 Andris Reinman
@ -4244,6 +4247,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
twirp-ts
MIT
undici undici
MIT MIT
MIT License MIT License

View File

@ -1,9 +1,3 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" { group "default" {
targets = ["build"] targets = ["build"]
} }
@ -17,49 +11,42 @@ group "validate" {
} }
target "build" { target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "build-update" target = "build-update"
output = ["."] output = ["."]
} }
target "build-validate" { target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "build-validate" target = "build-validate"
output = ["type=cacheonly"] output = ["type=cacheonly"]
} }
target "format" { target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "format-update" target = "format-update"
output = ["."] output = ["."]
} }
target "lint" { target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "lint" target = "lint"
output = ["type=cacheonly"] output = ["type=cacheonly"]
} }
target "vendor-update" { target "vendor-update" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "vendor-update" target = "vendor-update"
output = ["."] output = ["."]
} }
target "vendor-validate" { target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "vendor-validate" target = "vendor-validate"
output = ["type=cacheonly"] output = ["type=cacheonly"]
} }
target "test" { target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "test-coverage" target = "test-coverage"
output = ["./coverage"] output = ["./coverage"]

View File

@ -15,19 +15,19 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/docker/setup-docker-action.git" "url": "git+https://github.com/crazy-max/ghaction-setup-docker.git"
}, },
"keywords": [ "keywords": [
"actions", "actions",
"docker", "docker",
"engine" "engine"
], ],
"author": "Docker Inc.", "author": "CrazyMax",
"license": "Apache-2.0", "license": "Apache-2.0",
"packageManager": "yarn@3.6.3", "packageManager": "yarn@3.6.3",
"dependencies": { "dependencies": {
"@actions/core": "^1.11.1", "@actions/core": "^1.11.1",
"@docker/actions-toolkit": "^0.61.0" "@docker/actions-toolkit": "^0.40.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.6.0", "@types/node": "^20.6.0",

View File

@ -1,102 +1,19 @@
import * as core from '@actions/core'; import * as core from '@actions/core';
import {parse} from 'csv-parse/sync';
import {InstallSource} from '@docker/actions-toolkit/lib/docker/install';
import {Util} from '@docker/actions-toolkit/lib/util';
export interface Inputs { export interface Inputs {
source: InstallSource; version: string;
channel: string;
daemonConfig?: string; daemonConfig?: string;
tcpPort?: number;
context: string; context: string;
setHost: boolean; setHost: boolean;
rootless: boolean;
} }
export function getInputs(): Inputs { export function getInputs(): Inputs {
const rawVersion = core.getInput('version') || 'latest';
const source = parseSource(rawVersion);
const channel = core.getInput('channel');
if (channel && source.type === 'archive') {
source.channel = channel;
}
return { return {
source: source, version: core.getInput('version') || 'latest',
channel: core.getInput('channel'),
daemonConfig: core.getInput('daemon-config'), daemonConfig: core.getInput('daemon-config'),
tcpPort: Util.getInputNumber('tcp-port'),
context: core.getInput('context'), context: core.getInput('context'),
setHost: core.getBooleanInput('set-host'), setHost: core.getBooleanInput('set-host')
rootless: core.getBooleanInput('rootless')
}; };
} }
function parseSource(input: string): InstallSource {
let [type, version, channel, tag] = ['archive', 'latest', 'stable', 'latest'];
const fields = parse(input, {
relaxColumnCount: true,
skipEmptyLines: true
})[0];
for (const field of fields) {
const parts = field
.toString()
.split(/(?<=^[^=]+?)=/)
.map(item => item.trim());
switch (parts[0]) {
case 'type':
type = parts[1];
break;
case 'version':
version = parts[1];
break;
case 'channel':
channel = parts[1];
break;
case 'tag':
tag = parts[1];
break;
default:
if (fields.length === 1) {
version = parts[0];
break;
}
throw new Error(`Invalid field: ${parts[0]}`);
}
}
if (!type) {
throw new Error(`Invalid type: ${type}`);
}
if (!channel) {
throw new Error(`Invalid channel: ${channel}`);
}
if (!version) {
throw new Error(`Invalid version: ${version}`);
}
if (!tag) {
throw new Error(`Invalid tag: ${tag}`);
}
let src: InstallSource;
switch (type) {
case 'archive':
src = {
type: 'archive',
version: version,
channel: channel
};
break;
case 'image':
src = {
type: 'image',
tag: tag
};
break;
default:
throw new Error(`Invalid version: ${input}`);
}
return src;
}

View File

@ -5,17 +5,10 @@ import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit'; import * as actionsToolkit from '@docker/actions-toolkit';
import {Install} from '@docker/actions-toolkit/lib/docker/install'; import {Install} from '@docker/actions-toolkit/lib/docker/install';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
import {Install as RegclientInstall} from '@docker/actions-toolkit/lib/regclient/install';
import {Regctl} from '@docker/actions-toolkit/lib/regclient/regctl';
import {Install as UndockInstall} from '@docker/actions-toolkit/lib/undock/install';
import {Undock} from '@docker/actions-toolkit/lib/undock/undock';
import * as context from './context'; import * as context from './context';
import * as stateHelper from './state-helper'; import * as stateHelper from './state-helper';
const regctlDefaultVersion = 'v0.8.3';
const undockDefaultVersion = 'v0.10.0';
actionsToolkit.run( actionsToolkit.run(
// main // main
async () => { async () => {
@ -26,48 +19,15 @@ actionsToolkit.run(
throw new Error(`'default' context cannot be used.`); throw new Error(`'default' context cannot be used.`);
} }
if (input.source.type === 'image') {
await core.group(`Download and install regctl`, async () => {
const regclientInstall = new RegclientInstall();
const regclientBinPath = await regclientInstall.download(
process.env.REGCTL_VERSION && process.env.REGCTL_VERSION.trim()
? process.env.REGCTL_VERSION
: regctlDefaultVersion,
true
);
await regclientInstall.install(regclientBinPath);
});
await core.group(`Download and install undock`, async () => {
const undockInstall = new UndockInstall();
const undockBinPath = await undockInstall.download(
process.env.UNDOCK_VERSION && process.env.UNDOCK_VERSION.trim()
? process.env.UNDOCK_VERSION
: undockDefaultVersion,
true
);
await undockInstall.install(undockBinPath);
});
}
let tcpPort: number | undefined;
let tcpAddress: string | undefined;
if (input.tcpPort) {
tcpPort = input.tcpPort;
tcpAddress = `tcp://127.0.0.1:${tcpPort}`;
}
const install = new Install({ const install = new Install({
runDir: runDir, runDir: runDir,
source: input.source, version: input.version,
rootless: input.rootless, channel: input.channel || 'stable',
contextName: input.context || 'setup-docker-action', contextName: input.context || 'setup-docker-action',
daemonConfig: input.daemonConfig, daemonConfig: input.daemonConfig
localTCPPort: tcpPort,
regctl: new Regctl(),
undock: new Undock()
}); });
let toolDir; let toolDir;
if (!(await Docker.isAvailable()) || input.source) { if (!(await Docker.isAvailable()) || input.version) {
await core.group(`Download docker`, async () => { await core.group(`Download docker`, async () => {
toolDir = await install.download(); toolDir = await install.download();
}); });
@ -78,10 +38,6 @@ actionsToolkit.run(
await core.group(`Setting outputs`, async () => { await core.group(`Setting outputs`, async () => {
core.info(`sock=${sockPath}`); core.info(`sock=${sockPath}`);
core.setOutput('sock', sockPath); core.setOutput('sock', sockPath);
if (tcpAddress) {
core.info(`tcp=${tcpAddress}`);
core.setOutput('tcp', tcpAddress);
}
}); });
if (input.setHost) { if (input.setHost) {
@ -103,9 +59,7 @@ actionsToolkit.run(
return; return;
} }
const install = new Install({ const install = new Install({
runDir: stateHelper.runDir, runDir: stateHelper.runDir
regctl: new Regctl(),
undock: new Undock()
}); });
await install.tearDown(); await install.tearDown();
} }

218
yarn.lock
View File

@ -12,9 +12,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@actions/artifact@npm:^2.3.2": "@actions/artifact@npm:^2.1.11":
version: 2.3.2 version: 2.1.11
resolution: "@actions/artifact@npm:2.3.2" resolution: "@actions/artifact@npm:2.1.11"
dependencies: dependencies:
"@actions/core": ^1.10.0 "@actions/core": ^1.10.0
"@actions/github": ^5.1.1 "@actions/github": ^5.1.1
@ -27,16 +27,17 @@ __metadata:
"@protobuf-ts/plugin": ^2.2.3-alpha.1 "@protobuf-ts/plugin": ^2.2.3-alpha.1
archiver: ^7.0.1 archiver: ^7.0.1
jwt-decode: ^3.1.2 jwt-decode: ^3.1.2
twirp-ts: ^2.5.0
unzip-stream: ^0.3.1 unzip-stream: ^0.3.1
checksum: 78ee41b43800accb2f3527e1733217c43d53693e7f96ce2470b16890fb84f5c2ebaaa6048ccdb6cfe188b54c02779ec99623c6932558e757f6829cfde203cf2c checksum: dbdafaad11cc573768a00f6b8a7f5109f587eb9461564ae8f15ea8fd1d6a719041df45a92ec204a43a8a1e7ce2c21d8e4229543579b89a3ca8ea30dedddf2fc9
languageName: node languageName: node
linkType: hard linkType: hard
"@actions/cache@npm:^4.0.3": "@actions/cache@npm:^3.2.4":
version: 4.0.3 version: 3.2.4
resolution: "@actions/cache@npm:4.0.3" resolution: "@actions/cache@npm:3.2.4"
dependencies: dependencies:
"@actions/core": ^1.11.1 "@actions/core": ^1.10.0
"@actions/exec": ^1.0.1 "@actions/exec": ^1.0.1
"@actions/glob": ^0.1.0 "@actions/glob": ^0.1.0
"@actions/http-client": ^2.1.1 "@actions/http-client": ^2.1.1
@ -44,9 +45,9 @@ __metadata:
"@azure/abort-controller": ^1.1.0 "@azure/abort-controller": ^1.1.0
"@azure/ms-rest-js": ^2.6.0 "@azure/ms-rest-js": ^2.6.0
"@azure/storage-blob": ^12.13.0 "@azure/storage-blob": ^12.13.0
"@protobuf-ts/plugin": ^2.9.4
semver: ^6.3.1 semver: ^6.3.1
checksum: ee9c2a21a70bd3f35c63f302af478e23f135c26deb77ea2e4eed29c62766a4b201fc7435651c0d56fa504c02d203107e3bdfda1dba18a3ee09338e1dfc3f2fe8 uuid: ^3.3.3
checksum: 5bf5f7541bea4906b553440a9ffee5699e11dfb729365c6cb0bbd37e147a1a0993369fdad16bfa3e2b01ec7fa57dac66276278bfd4a389009246a75ea953e61d
languageName: node languageName: node
linkType: hard linkType: hard
@ -159,16 +160,17 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@actions/tool-cache@npm:^2.0.2": "@actions/tool-cache@npm:^2.0.1":
version: 2.0.2 version: 2.0.1
resolution: "@actions/tool-cache@npm:2.0.2" resolution: "@actions/tool-cache@npm:2.0.1"
dependencies: dependencies:
"@actions/core": ^1.11.1 "@actions/core": ^1.2.6
"@actions/exec": ^1.0.0 "@actions/exec": ^1.0.0
"@actions/http-client": ^2.0.1 "@actions/http-client": ^2.0.1
"@actions/io": ^1.1.1 "@actions/io": ^1.1.1
semver: ^6.1.0 semver: ^6.1.0
checksum: c2bab4297be752bdda9dd61f8159a201ad0d37d026134b960f1edcc9418a80387f44d1f24a070fe992c44dcfc28a152f70600e76669bb0578132789a6f37a596 uuid: ^3.3.2
checksum: 33f6393b9b163e4af2b9759e8d37cda4f018f10ddda3643355bb8a9f92d732e5bdff089cf8036b46d181e1ef2b3210b895b2f746fdf54487afe88f1d340aa9e1
languageName: node languageName: node
linkType: hard linkType: hard
@ -1101,32 +1103,32 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@docker/actions-toolkit@npm:^0.61.0": "@docker/actions-toolkit@npm:^0.40.0":
version: 0.61.0 version: 0.40.0
resolution: "@docker/actions-toolkit@npm:0.61.0" resolution: "@docker/actions-toolkit@npm:0.40.0"
dependencies: dependencies:
"@actions/artifact": ^2.3.2 "@actions/artifact": ^2.1.11
"@actions/cache": ^4.0.3 "@actions/cache": ^3.2.4
"@actions/core": ^1.11.1 "@actions/core": ^1.11.1
"@actions/exec": ^1.1.1 "@actions/exec": ^1.1.1
"@actions/github": ^6.0.0 "@actions/github": ^6.0.0
"@actions/http-client": ^2.2.3 "@actions/http-client": ^2.2.3
"@actions/io": ^1.1.3 "@actions/io": ^1.1.3
"@actions/tool-cache": ^2.0.2 "@actions/tool-cache": ^2.0.1
"@azure/storage-blob": ^12.15.0 "@azure/storage-blob": ^12.15.0
"@octokit/core": ^5.1.0 "@octokit/core": ^5.1.0
"@octokit/plugin-rest-endpoint-methods": ^10.4.0 "@octokit/plugin-rest-endpoint-methods": ^10.4.0
async-retry: ^1.3.3 async-retry: ^1.3.3
csv-parse: ^5.6.0 csv-parse: ^5.5.6
gunzip-maybe: ^1.4.2 gunzip-maybe: ^1.4.2
handlebars: ^4.7.8 handlebars: ^4.7.8
he: ^1.2.0 he: ^1.2.0
js-yaml: ^4.1.0 js-yaml: ^4.1.0
jwt-decode: ^4.0.0 jwt-decode: ^4.0.0
semver: ^7.7.1 semver: ^7.6.3
tar-stream: ^3.1.7 tar-stream: ^3.1.7
tmp: ^0.2.3 tmp: ^0.2.3
checksum: 60cc6c8f5bde8221a3d6a40c15258d44a468950353098f1814d8af3a14131df9c41df5b87298cd82f5c77aa4e36e262c15a5bb0cc03ea2857bea18c9e0952d80 checksum: 38ac578e3659ddfefbcb39dbd51a9226e6eaedf797c99ad07e29fa710e7131abadf5fd30338c0197938574791760ed16e049179fb883fe288b73bb3761faf179
languageName: node languageName: node
linkType: hard linkType: hard
@ -1934,7 +1936,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@protobuf-ts/plugin-framework@npm:^2.9.4": "@protobuf-ts/plugin-framework@npm:^2.0.7, @protobuf-ts/plugin-framework@npm:^2.9.4":
version: 2.9.4 version: 2.9.4
resolution: "@protobuf-ts/plugin-framework@npm:2.9.4" resolution: "@protobuf-ts/plugin-framework@npm:2.9.4"
dependencies: dependencies:
@ -1944,7 +1946,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1, @protobuf-ts/plugin@npm:^2.9.4": "@protobuf-ts/plugin@npm:^2.2.3-alpha.1":
version: 2.9.4 version: 2.9.4
resolution: "@protobuf-ts/plugin@npm:2.9.4" resolution: "@protobuf-ts/plugin@npm:2.9.4"
dependencies: dependencies:
@ -2958,6 +2960,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"camel-case@npm:^4.1.2":
version: 4.1.2
resolution: "camel-case@npm:4.1.2"
dependencies:
pascal-case: ^3.1.2
tslib: ^2.0.3
checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6
languageName: node
linkType: hard
"camelcase@npm:^5.3.1": "camelcase@npm:^5.3.1":
version: 5.3.1 version: 5.3.1
resolution: "camelcase@npm:5.3.1" resolution: "camelcase@npm:5.3.1"
@ -3126,6 +3138,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"commander@npm:^6.1.0":
version: 6.2.1
resolution: "commander@npm:6.2.1"
checksum: d7090410c0de6bc5c67d3ca41c41760d6d268f3c799e530aafb73b7437d1826bbf0d2a3edac33f8b57cc9887b4a986dce307fa5557e109be40eadb7c43b21742
languageName: node
linkType: hard
"compress-commons@npm:^6.0.2": "compress-commons@npm:^6.0.2":
version: 6.0.2 version: 6.0.2
resolution: "compress-commons@npm:6.0.2" resolution: "compress-commons@npm:6.0.2"
@ -3201,20 +3220,20 @@ __metadata:
linkType: hard linkType: hard
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
version: 7.0.6 version: 7.0.3
resolution: "cross-spawn@npm:7.0.6" resolution: "cross-spawn@npm:7.0.3"
dependencies: dependencies:
path-key: ^3.1.0 path-key: ^3.1.0
shebang-command: ^2.0.0 shebang-command: ^2.0.0
which: ^2.0.1 which: ^2.0.1
checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52
languageName: node languageName: node
linkType: hard linkType: hard
"csv-parse@npm:^5.6.0": "csv-parse@npm:^5.5.6":
version: 5.6.0 version: 5.5.6
resolution: "csv-parse@npm:5.6.0" resolution: "csv-parse@npm:5.5.6"
checksum: 173e176bdaf212bab37d0f6d39a06d039d24a1c0ee40b9f1023ebf8b36095934807deeb493c0fb58592b39b0682ccd0be5c9e8d2b137c08807e7031595ea7a51 checksum: ee06f97f674487dc1d001b360de8ea510a41b9d971abf43bcf9c3be22c83a3634df0d3ebfbe52fd49d145077066be7ff9f25de3fc6b71aefb973099b04147a25
languageName: node languageName: node
linkType: hard linkType: hard
@ -3341,7 +3360,7 @@ __metadata:
resolution: "docker-setup-docker@workspace:." resolution: "docker-setup-docker@workspace:."
dependencies: dependencies:
"@actions/core": ^1.11.1 "@actions/core": ^1.11.1
"@docker/actions-toolkit": ^0.61.0 "@docker/actions-toolkit": ^0.40.0
"@types/node": ^20.6.0 "@types/node": ^20.6.0
"@typescript-eslint/eslint-plugin": ^6.6.0 "@typescript-eslint/eslint-plugin": ^6.6.0
"@typescript-eslint/parser": ^6.6.0 "@typescript-eslint/parser": ^6.6.0
@ -3367,6 +3386,18 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"dot-object@npm:^2.1.4":
version: 2.1.5
resolution: "dot-object@npm:2.1.5"
dependencies:
commander: ^6.1.0
glob: ^7.1.6
bin:
dot-object: bin/dot-object
checksum: 3e5a681bbea32dfc1cd0b1254adc93531bd462f7474a355e981738ef37253e4bc5c9482926289ef4d3c6ef9adb0a7ed894725ed3a69aa22063343dc2a57dd764
languageName: node
linkType: hard
"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0": "duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
version: 3.7.1 version: 3.7.1
resolution: "duplexify@npm:3.7.1" resolution: "duplexify@npm:3.7.1"
@ -4117,7 +4148,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"glob@npm:^7.1.4": "glob@npm:^7.1.4, glob@npm:^7.1.6":
version: 7.2.3 version: 7.2.3
resolution: "glob@npm:7.2.3" resolution: "glob@npm:7.2.3"
dependencies: dependencies:
@ -5270,6 +5301,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"lower-case@npm:^2.0.2":
version: 2.0.2
resolution: "lower-case@npm:2.0.2"
dependencies:
tslib: ^2.0.3
checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010
languageName: node
linkType: hard
"lru-cache@npm:^10.2.0": "lru-cache@npm:^10.2.0":
version: 10.2.2 version: 10.2.2
resolution: "lru-cache@npm:10.2.2" resolution: "lru-cache@npm:10.2.2"
@ -5600,6 +5640,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"no-case@npm:^3.0.4":
version: 3.0.4
resolution: "no-case@npm:3.0.4"
dependencies:
lower-case: ^2.0.2
tslib: ^2.0.3
checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c
languageName: node
linkType: hard
"node-fetch@npm:^2.6.7": "node-fetch@npm:^2.6.7":
version: 2.6.9 version: 2.6.9
resolution: "node-fetch@npm:2.6.9" resolution: "node-fetch@npm:2.6.9"
@ -5837,6 +5887,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"pascal-case@npm:^3.1.2":
version: 3.1.2
resolution: "pascal-case@npm:3.1.2"
dependencies:
no-case: ^3.0.4
tslib: ^2.0.3
checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e
languageName: node
linkType: hard
"path-exists@npm:^4.0.0": "path-exists@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "path-exists@npm:4.0.0" resolution: "path-exists@npm:4.0.0"
@ -5892,6 +5952,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"path-to-regexp@npm:^6.2.0":
version: 6.3.0
resolution: "path-to-regexp@npm:6.3.0"
checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250
languageName: node
linkType: hard
"path-type@npm:^4.0.0": "path-type@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "path-type@npm:4.0.0" resolution: "path-type@npm:4.0.0"
@ -5956,6 +6023,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"prettier@npm:^2.5.1":
version: 2.8.8
resolution: "prettier@npm:2.8.8"
bin:
prettier: bin-prettier.js
checksum: b49e409431bf129dd89238d64299ba80717b57ff5a6d1c1a8b1a28b590d998a34e083fa13573bc732bb8d2305becb4c9a4407f8486c81fa7d55100eb08263cf8
languageName: node
linkType: hard
"prettier@npm:^3.0.3": "prettier@npm:^3.0.3":
version: 3.0.3 version: 3.0.3
resolution: "prettier@npm:3.0.3" resolution: "prettier@npm:3.0.3"
@ -6284,12 +6360,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"semver@npm:^7.7.1": "semver@npm:^7.6.3":
version: 7.7.1 version: 7.6.3
resolution: "semver@npm:7.7.1" resolution: "semver@npm:7.6.3"
bin: bin:
semver: bin/semver.js semver: bin/semver.js
checksum: 586b825d36874007c9382d9e1ad8f93888d8670040add24a28e06a910aeebd673a2eb9e3bf169c6679d9245e66efb9057e0852e70d9daa6c27372aab1dda7104 checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8
languageName: node languageName: node
linkType: hard linkType: hard
@ -6776,6 +6852,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ts-poet@npm:^4.5.0":
version: 4.15.0
resolution: "ts-poet@npm:4.15.0"
dependencies:
lodash: ^4.17.15
prettier: ^2.5.1
checksum: 93490e8b5921e23ac65afdecc00b4dd53f3560d7d9c19778a3f0bd9a300ba7ca71585a989d564508313bc73e8c431413714d513ebca2d5c428f909ec36bcf6e9
languageName: node
linkType: hard
"tslib@npm:^1.10.0, tslib@npm:^1.8.1": "tslib@npm:^1.10.0, tslib@npm:^1.8.1":
version: 1.14.1 version: 1.14.1
resolution: "tslib@npm:1.14.1" resolution: "tslib@npm:1.14.1"
@ -6783,6 +6869,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tslib@npm:^2.0.3, tslib@npm:^2.6.2":
version: 2.6.3
resolution: "tslib@npm:2.6.3"
checksum: 74fce0e100f1ebd95b8995fbbd0e6c91bdd8f4c35c00d4da62e285a3363aaa534de40a80db30ecfd388ed7c313c42d930ee0eaf108e8114214b180eec3dbe6f5
languageName: node
linkType: hard
"tslib@npm:^2.2.0": "tslib@npm:^2.2.0":
version: 2.6.1 version: 2.6.1
resolution: "tslib@npm:2.6.1" resolution: "tslib@npm:2.6.1"
@ -6797,13 +6890,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tslib@npm:^2.6.2":
version: 2.6.3
resolution: "tslib@npm:2.6.3"
checksum: 74fce0e100f1ebd95b8995fbbd0e6c91bdd8f4c35c00d4da62e285a3363aaa534de40a80db30ecfd388ed7c313c42d930ee0eaf108e8114214b180eec3dbe6f5
languageName: node
linkType: hard
"tsutils@npm:^3.21.0": "tsutils@npm:^3.21.0":
version: 3.21.0 version: 3.21.0
resolution: "tsutils@npm:3.21.0" resolution: "tsutils@npm:3.21.0"
@ -6822,6 +6908,30 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"twirp-ts@npm:^2.5.0":
version: 2.5.0
resolution: "twirp-ts@npm:2.5.0"
dependencies:
"@protobuf-ts/plugin-framework": ^2.0.7
camel-case: ^4.1.2
dot-object: ^2.1.4
path-to-regexp: ^6.2.0
ts-poet: ^4.5.0
yaml: ^1.10.2
peerDependencies:
"@protobuf-ts/plugin": ^2.5.0
ts-proto: ^1.81.3
peerDependenciesMeta:
"@protobuf-ts/plugin":
optional: true
ts-proto:
optional: true
bin:
protoc-gen-twirp_ts: protoc-gen-twirp_ts
checksum: e7cf87d77ab4d2cd327c9d8307e82ff61afc5af56883aed5fb6ac7d57999b646945e11158be87c10f0340aeef2efde6eb896f2efd60599498f17b4f310d66e4f
languageName: node
linkType: hard
"type-check@npm:^0.4.0, type-check@npm:~0.4.0": "type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0 version: 0.4.0
resolution: "type-check@npm:0.4.0" resolution: "type-check@npm:0.4.0"
@ -6996,6 +7106,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"uuid@npm:^3.3.2, uuid@npm:^3.3.3":
version: 3.4.0
resolution: "uuid@npm:3.4.0"
bin:
uuid: ./bin/uuid
checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f
languageName: node
linkType: hard
"uuid@npm:^8.3.0, uuid@npm:^8.3.2": "uuid@npm:^8.3.0, uuid@npm:^8.3.2":
version: 8.3.2 version: 8.3.2
resolution: "uuid@npm:8.3.2" resolution: "uuid@npm:8.3.2"
@ -7160,6 +7279,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"yaml@npm:^1.10.2":
version: 1.10.2
resolution: "yaml@npm:1.10.2"
checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f
languageName: node
linkType: hard
"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": "yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
version: 21.1.1 version: 21.1.1
resolution: "yargs-parser@npm:21.1.1" resolution: "yargs-parser@npm:21.1.1"