Compare commits
	
		
			102 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					4f58ea7922 | ||
| 
						 | 
					49b5ea61c6 | ||
| 
						 | 
					13c9fddd72 | ||
| 
						 | 
					e44afff359 | ||
| 
						 | 
					67ebad331f | ||
| 
						 | 
					32945a3392 | ||
| 
						 | 
					e0fe9cf0f2 | ||
| 
						 | 
					8f1ff6bf9a | ||
| 
						 | 
					5cd11c3a4c | ||
| 
						 | 
					0aba704831 | ||
| 
						 | 
					23c657a01f | ||
| 
						 | 
					16ebe778df | ||
| 
						 | 
					646a62b4f2 | ||
| 
						 | 
					d92ab1347f | ||
| 
						 | 
					4f7cdeb0f0 | ||
| 
						 | 
					ad3cd774a4 | ||
| 
						 | 
					3efbc13366 | ||
| 
						 | 
					2dbe91db48 | ||
| 
						 | 
					7de3854c4c | ||
| 
						 | 
					175aa53a3f | ||
| 
						 | 
					806a2a461f | ||
| 
						 | 
					a8d35412fb | ||
| 
						 | 
					1672e74297 | ||
| 
						 | 
					a04f51d3b4 | ||
| 
						 | 
					5176d81f87 | ||
| 
						 | 
					ec10ae8f96 | ||
| 
						 | 
					597e8fc414 | ||
| 
						 | 
					e050dfa622 | ||
| 
						 | 
					d1fcdb6ee0 | ||
| 
						 | 
					a6067b9a1a | ||
| 
						 | 
					1ca370b3a9 | ||
| 
						 | 
					2c95ebed5c | ||
| 
						 | 
					d189d0ef33 | ||
| 
						 | 
					a254f8ca60 | ||
| 
						 | 
					94dae62c78 | ||
| 
						 | 
					267a69d6cc | ||
| 
						 | 
					f23fb2a7cb | ||
| 
						 | 
					ef76d100ee | ||
| 
						 | 
					522345f555 | ||
| 
						 | 
					1a162644f9 | ||
| 
						 | 
					9eea548195 | ||
| 
						 | 
					11c2faaa9e | ||
| 
						 | 
					de2365af33 | ||
| 
						 | 
					bca5082da7 | ||
| 
						 | 
					e7aab408d9 | ||
| 
						 | 
					63eb7590c6 | ||
| 
						 | 
					53ec48606f | ||
| 
						 | 
					fe9d9f1d0c | ||
| 
						 | 
					ad37ba1ad0 | ||
| 
						 | 
					aabbd3f4d7 | ||
| 
						 | 
					9c7c277413 | ||
| 
						 | 
					987902144c | ||
| 
						 | 
					709dde20a7 | ||
| 
						 | 
					ec2d640ea6 | ||
| 
						 | 
					3dc0757c66 | ||
| 
						 | 
					dcb0699155 | ||
| 
						 | 
					a3c06e8698 | ||
| 
						 | 
					e75138d857 | ||
| 
						 | 
					9552610e81 | ||
| 
						 | 
					99c83871c1 | ||
| 
						 | 
					af64c4e18f | ||
| 
						 | 
					6fdff4fb09 | ||
| 
						 | 
					9e59c61762 | ||
| 
						 | 
					49351df2b7 | ||
| 
						 | 
					723ff6ffad | ||
| 
						 | 
					15560696de | ||
| 
						 | 
					57e1d34ac3 | ||
| 
						 | 
					309982ebc9 | ||
| 
						 | 
					9476c25b2a | ||
| 
						 | 
					97be5a4928 | ||
| 
						 | 
					9cac6c8ea0 | ||
| 
						 | 
					31159d49c0 | ||
| 
						 | 
					07e1c3e148 | ||
| 
						 | 
					f7febd621d | ||
| 
						 | 
					f6010ea701 | ||
| 
						 | 
					c0a6b9680f | ||
| 
						 | 
					0dfe9c3d41 | ||
| 
						 | 
					94f8f8c2ee | ||
| 
						 | 
					22f4433c58 | ||
| 
						 | 
					6721c56015 | ||
| 
						 | 
					4367da978b | ||
| 
						 | 
					0883ebe52d | ||
| 
						 | 
					76e5c2d6ea | ||
| 
						 | 
					29d67824d8 | ||
| 
						 | 
					c382f710d3 | ||
| 
						 | 
					5a5b70d974 | ||
| 
						 | 
					dc24cf9e25 | ||
| 
						 | 
					667cb22c52 | ||
| 
						 | 
					d880b1964b | ||
| 
						 | 
					e51051ad0b | ||
| 
						 | 
					86c2bd0031 | ||
| 
						 | 
					268d2b1611 | ||
| 
						 | 
					2b8dc7f529 | ||
| 
						 | 
					840c12be17 | ||
| 
						 | 
					26368743c0 | ||
| 
						 | 
					cfed4e995e | ||
| 
						 | 
					dca03ca8fd | ||
| 
						 | 
					e030091ff4 | ||
| 
						 | 
					84354d3b32 | ||
| 
						 | 
					de5408fe94 | ||
| 
						 | 
					cfc1555281 | ||
| 
						 | 
					f6a172d30e | 
							
								
								
									
										
											BIN
										
									
								
								.github/build-push-summary.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.github/build-push-summary.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 81 KiB  | 
							
								
								
									
										167
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										167
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@@ -1344,3 +1344,170 @@ jobs:
 | 
			
		||||
        name: Check docker
 | 
			
		||||
        run: |
 | 
			
		||||
          docker image inspect localhost:5000/name/app:latest
 | 
			
		||||
 | 
			
		||||
  summary-disable:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          path: action
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./action
 | 
			
		||||
        with:
 | 
			
		||||
          file: ./test/Dockerfile
 | 
			
		||||
        env:
 | 
			
		||||
          DOCKER_BUILD_SUMMARY: false
 | 
			
		||||
 | 
			
		||||
  summary-disable-deprecated:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          path: action
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./action
 | 
			
		||||
        with:
 | 
			
		||||
          file: ./test/Dockerfile
 | 
			
		||||
        env:
 | 
			
		||||
          DOCKER_BUILD_NO_SUMMARY: true
 | 
			
		||||
 | 
			
		||||
  summary-not-supported:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          path: action
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: v0.12.1
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./action
 | 
			
		||||
        with:
 | 
			
		||||
          file: ./test/Dockerfile
 | 
			
		||||
 | 
			
		||||
  record-upload-disable:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          path: action
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./action
 | 
			
		||||
        with:
 | 
			
		||||
          file: ./test/Dockerfile
 | 
			
		||||
        env:
 | 
			
		||||
          DOCKER_BUILD_RECORD_UPLOAD: false
 | 
			
		||||
 | 
			
		||||
  record-retention-days:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        days:
 | 
			
		||||
          - 2
 | 
			
		||||
          - 0
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          path: action
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./action
 | 
			
		||||
        with:
 | 
			
		||||
          file: ./test/Dockerfile
 | 
			
		||||
        env:
 | 
			
		||||
          DOCKER_BUILD_RECORD_RETENTION_DAYS: ${{ matrix.days }}
 | 
			
		||||
 | 
			
		||||
  checks:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        buildx-version:
 | 
			
		||||
          - latest
 | 
			
		||||
          - v0.14.1
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: ${{ matrix.buildx-version }}
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./
 | 
			
		||||
        with:
 | 
			
		||||
          context: ./test
 | 
			
		||||
          file: ./test/lint.Dockerfile
 | 
			
		||||
 | 
			
		||||
  annotations-disabled:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
 | 
			
		||||
          driver-opts: |
 | 
			
		||||
            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build
 | 
			
		||||
        uses: ./
 | 
			
		||||
        with:
 | 
			
		||||
          context: ./test
 | 
			
		||||
          file: ./test/lint.Dockerfile
 | 
			
		||||
        env:
 | 
			
		||||
          DOCKER_BUILD_CHECKS_ANNOTATIONS: false
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							@@ -20,7 +20,7 @@ jobs:
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Test
 | 
			
		||||
        uses: docker/bake-action@v4
 | 
			
		||||
        uses: docker/bake-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          targets: test
 | 
			
		||||
      -
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/validate.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/validate.yml
									
									
									
									
										vendored
									
									
								
							@@ -40,6 +40,6 @@ jobs:
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Validate
 | 
			
		||||
        uses: docker/bake-action@v4
 | 
			
		||||
        uses: docker/bake-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          targets: ${{ matrix.target }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										65
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								README.md
									
									
									
									
									
								
							@@ -19,24 +19,11 @@ ___
 | 
			
		||||
  * [Git context](#git-context)
 | 
			
		||||
  * [Path context](#path-context)
 | 
			
		||||
* [Examples](#examples)
 | 
			
		||||
  * [Multi-platform image](https://docs.docker.com/build/ci/github-actions/multi-platform/)
 | 
			
		||||
  * [Secrets](https://docs.docker.com/build/ci/github-actions/secrets/)
 | 
			
		||||
  * [Push to multi-registries](https://docs.docker.com/build/ci/github-actions/push-multi-registries/)
 | 
			
		||||
  * [Manage tags and labels](https://docs.docker.com/build/ci/github-actions/manage-tags-labels/)
 | 
			
		||||
  * [Cache management](https://docs.docker.com/build/ci/github-actions/cache/)
 | 
			
		||||
  * [Export to Docker](https://docs.docker.com/build/ci/github-actions/export-docker/)
 | 
			
		||||
  * [Test before push](https://docs.docker.com/build/ci/github-actions/test-before-push/)
 | 
			
		||||
  * [Local registry](https://docs.docker.com/build/ci/github-actions/local-registry/)
 | 
			
		||||
  * [Share built image between jobs](https://docs.docker.com/build/ci/github-actions/share-image-jobs/)
 | 
			
		||||
  * [Named contexts](https://docs.docker.com/build/ci/github-actions/named-contexts/)
 | 
			
		||||
  * [Copy image between registries](https://docs.docker.com/build/ci/github-actions/copy-image-registries/)
 | 
			
		||||
  * [Update Docker Hub repo description](https://docs.docker.com/build/ci/github-actions/update-dockerhub-desc/)
 | 
			
		||||
  * [SBOM and provenance attestations](https://docs.docker.com/build/ci/github-actions/attestations/)
 | 
			
		||||
  * [Annotations](https://docs.docker.com/build/ci/github-actions/annotations/)
 | 
			
		||||
  * [Reproducible builds](https://docs.docker.com/build/ci/github-actions/reproducible-builds/)
 | 
			
		||||
* [Summaries](#summaries)
 | 
			
		||||
* [Customizing](#customizing)
 | 
			
		||||
  * [inputs](#inputs)
 | 
			
		||||
  * [outputs](#outputs)
 | 
			
		||||
  * [environment variables](#environment-variables)
 | 
			
		||||
* [Troubleshooting](#troubleshooting)
 | 
			
		||||
* [Contributing](#contributing)
 | 
			
		||||
 | 
			
		||||
@@ -68,8 +55,6 @@ name: ci
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - 'main'
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  docker:
 | 
			
		||||
@@ -89,7 +74,7 @@ jobs:
 | 
			
		||||
          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        uses: docker/build-push-action@v6
 | 
			
		||||
        with:
 | 
			
		||||
          push: true
 | 
			
		||||
          tags: user/app:latest
 | 
			
		||||
@@ -107,14 +92,9 @@ expression `{{defaultContext}}`. Here we can use it to provide a subdirectory
 | 
			
		||||
to the default Git context:
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
      -
 | 
			
		||||
        # Setting up Docker Buildx with docker-container driver is required
 | 
			
		||||
        # at the moment to be able to use a subdirectory with Git context
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v3
 | 
			
		||||
      -
 | 
			
		||||
        name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        uses: docker/build-push-action@v6
 | 
			
		||||
        with:
 | 
			
		||||
          context: "{{defaultContext}}:mysubdir"
 | 
			
		||||
          push: true
 | 
			
		||||
@@ -129,7 +109,7 @@ named `GIT_AUTH_TOKEN` to be able to authenticate against it with Buildx:
 | 
			
		||||
```yaml
 | 
			
		||||
      -
 | 
			
		||||
        name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        uses: docker/build-push-action@v6
 | 
			
		||||
        with:
 | 
			
		||||
          push: true
 | 
			
		||||
          tags: user/app:latest
 | 
			
		||||
@@ -144,8 +124,6 @@ name: ci
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - 'main'
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  docker:
 | 
			
		||||
@@ -168,7 +146,7 @@ jobs:
 | 
			
		||||
          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
			
		||||
      -
 | 
			
		||||
        name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        uses: docker/build-push-action@v6
 | 
			
		||||
        with:
 | 
			
		||||
          context: .
 | 
			
		||||
          push: true
 | 
			
		||||
@@ -193,11 +171,31 @@ jobs:
 | 
			
		||||
* [Annotations](https://docs.docker.com/build/ci/github-actions/annotations/)
 | 
			
		||||
* [Reproducible builds](https://docs.docker.com/build/ci/github-actions/reproducible-builds/)
 | 
			
		||||
 | 
			
		||||
## Summaries
 | 
			
		||||
 | 
			
		||||
This action generates a [job summary](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/)
 | 
			
		||||
that provides a detailed overview of the build execution. The summary shows an
 | 
			
		||||
overview of all the steps executed during the build, including the build inputs
 | 
			
		||||
and eventual errors.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
The summary also includes a link for downloading the build record with
 | 
			
		||||
additional details about the build, including build stats, logs, outputs, and
 | 
			
		||||
more. The build record can be imported to Docker Desktop for inspecting the
 | 
			
		||||
build in greater detail.
 | 
			
		||||
 | 
			
		||||
Summaries are enabled by default, but can be disabled with the
 | 
			
		||||
`DOCKER_BUILD_SUMMARY` [environment variable](#environment-variables).
 | 
			
		||||
 | 
			
		||||
For more information about summaries, refer to the
 | 
			
		||||
[documentation](https://docs.docker.com/go/build-summary/).
 | 
			
		||||
 | 
			
		||||
## Customizing
 | 
			
		||||
 | 
			
		||||
### inputs
 | 
			
		||||
 | 
			
		||||
Following inputs can be used as `step.with` keys
 | 
			
		||||
The following inputs can be used as `step.with` keys:
 | 
			
		||||
 | 
			
		||||
> `List` type is a newline-delimited string
 | 
			
		||||
> ```yaml
 | 
			
		||||
@@ -256,6 +254,15 @@ The following outputs are available:
 | 
			
		||||
| `digest`   | String  | Image digest          |
 | 
			
		||||
| `metadata` | JSON    | Build result metadata |
 | 
			
		||||
 | 
			
		||||
### environment variables
 | 
			
		||||
 | 
			
		||||
| Name                                 | Type   | Default | Description                                                                                                                                                                                                                                                        |
 | 
			
		||||
|--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | 
			
		||||
| `DOCKER_BUILD_CHECKS_ANNOTATIONS`    | Bool   | `true`  | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/)                                                                                                                                                         |
 | 
			
		||||
| `DOCKER_BUILD_SUMMARY`               | Bool   | `true`  | If `false`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled                                                                                                                                                 |
 | 
			
		||||
| `DOCKER_BUILD_RECORD_UPLOAD`         | Bool   | `true`  | If `false`, build record upload as [GitHub artifact](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts) is disabled                                                                                                            |
 | 
			
		||||
| `DOCKER_BUILD_RECORD_RETENTION_DAYS` | Number |         | Duration after which build record artifact will expire in days. Defaults to repository/org [retention settings](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy) if unset or `0` |
 | 
			
		||||
 | 
			
		||||
## Troubleshooting
 | 
			
		||||
 | 
			
		||||
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,7 @@ jobs:
 | 
			
		||||
        uses: crazy-max/ghaction-setup-containerd@v2
 | 
			
		||||
      -
 | 
			
		||||
        name: Build Docker image
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        uses: docker/build-push-action@v6
 | 
			
		||||
        with:
 | 
			
		||||
          context: .
 | 
			
		||||
          platforms: linux/amd64,linux/arm64
 | 
			
		||||
@@ -112,7 +112,7 @@ to generate sanitized tags:
 | 
			
		||||
    tags: latest
 | 
			
		||||
 | 
			
		||||
- name: Build and push
 | 
			
		||||
  uses: docker/build-push-action@v5
 | 
			
		||||
  uses: docker/build-push-action@v6
 | 
			
		||||
  with:
 | 
			
		||||
    context: .
 | 
			
		||||
    push: true
 | 
			
		||||
@@ -130,7 +130,7 @@ Or a dedicated step to sanitize the slug:
 | 
			
		||||
    script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
 | 
			
		||||
 | 
			
		||||
- name: Build and push
 | 
			
		||||
  uses: docker/build-push-action@v5
 | 
			
		||||
  uses: docker/build-push-action@v6
 | 
			
		||||
  with:
 | 
			
		||||
    context: .
 | 
			
		||||
    push: true
 | 
			
		||||
 
 | 
			
		||||
@@ -494,7 +494,7 @@ nproc=3`],
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -513,7 +513,7 @@ nproc=3`],
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        '--attest', `type=provenance,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -532,7 +532,7 @@ nproc=3`],
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        '--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -690,7 +690,7 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--output', 'type=local,dest=./release-out',
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -714,7 +714,7 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
 | 
			
		||||
        '--annotation', 'manifest:example3=yyy',
 | 
			
		||||
        '--annotation', 'manifest-descriptor[linux/amd64]:example4=zzz',
 | 
			
		||||
        '--output', 'type=local,dest=./release-out',
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -734,7 +734,7 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        "--output", `type=image,"name=localhost:5000/name/app:latest,localhost:5000/name/app:foo",push-by-digest=true,name-canonical=true,push=true`,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -754,7 +754,7 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        '--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--attest', `type=sbom,disabled=false`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
@@ -775,7 +775,7 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        '--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
@@ -794,7 +794,7 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
 | 
			
		||||
      [
 | 
			
		||||
        'build',
 | 
			
		||||
        '--iidfile', imageIDFilePath,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
 | 
			
		||||
        '--attest', `type=provenance,mode=min,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
 | 
			
		||||
        '--metadata-file', metadataJson,
 | 
			
		||||
        '.'
 | 
			
		||||
      ]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										26
									
								
								dist/licenses.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								dist/licenses.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -2516,6 +2516,30 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
he
 | 
			
		||||
MIT
 | 
			
		||||
Copyright Mathias Bynens <https://mathiasbynens.be/>
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
"Software"), to deal in the Software without restriction, including
 | 
			
		||||
without limitation the rights to use, copy, modify, merge, publish,
 | 
			
		||||
distribute, sublicense, and/or sell copies of the Software, and to
 | 
			
		||||
permit persons to whom the Software is furnished to do so, subject to
 | 
			
		||||
the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be
 | 
			
		||||
included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 | 
			
		||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 | 
			
		||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 | 
			
		||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 | 
			
		||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 | 
			
		||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 | 
			
		||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
iconv-lite
 | 
			
		||||
MIT
 | 
			
		||||
Copyright (c) 2011 Alexander Shtuchkin
 | 
			
		||||
@@ -2807,7 +2831,7 @@ minimatch
 | 
			
		||||
ISC
 | 
			
		||||
The ISC License
 | 
			
		||||
 | 
			
		||||
Copyright (c) Isaac Z. Schlueter and Contributors
 | 
			
		||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
 | 
			
		||||
 | 
			
		||||
Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
purpose with or without fee is hereby granted, provided that the above
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@
 | 
			
		||||
  "packageManager": "yarn@3.6.3",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@actions/core": "^1.10.1",
 | 
			
		||||
    "@docker/actions-toolkit": "0.24.0",
 | 
			
		||||
    "@docker/actions-toolkit": "0.39.0",
 | 
			
		||||
    "handlebars": "^4.7.7"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
 
 | 
			
		||||
@@ -79,6 +79,25 @@ export async function getInputs(): Promise<Inputs> {
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function sanitizeInputs(inputs: Inputs) {
 | 
			
		||||
  const res = {};
 | 
			
		||||
  for (const key of Object.keys(inputs)) {
 | 
			
		||||
    if (key === 'github-token') {
 | 
			
		||||
      continue;
 | 
			
		||||
    }
 | 
			
		||||
    const value: string | string[] | boolean = inputs[key];
 | 
			
		||||
    if (typeof value === 'boolean' && value === false) {
 | 
			
		||||
      continue;
 | 
			
		||||
    } else if (Array.isArray(value) && value.length === 0) {
 | 
			
		||||
      continue;
 | 
			
		||||
    } else if (!value) {
 | 
			
		||||
      continue;
 | 
			
		||||
    }
 | 
			
		||||
    res[key] = value;
 | 
			
		||||
  }
 | 
			
		||||
  return res;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
 | 
			
		||||
  const context = handlebars.compile(inputs.context)({
 | 
			
		||||
    defaultContext: Context.gitContext()
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										164
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										164
									
								
								src/main.ts
									
									
									
									
									
								
							@@ -4,21 +4,28 @@ import * as stateHelper from './state-helper';
 | 
			
		||||
import * as core from '@actions/core';
 | 
			
		||||
import * as actionsToolkit from '@docker/actions-toolkit';
 | 
			
		||||
 | 
			
		||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
 | 
			
		||||
import {History as BuildxHistory} from '@docker/actions-toolkit/lib/buildx/history';
 | 
			
		||||
import {Context} from '@docker/actions-toolkit/lib/context';
 | 
			
		||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
 | 
			
		||||
import {Exec} from '@docker/actions-toolkit/lib/exec';
 | 
			
		||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
 | 
			
		||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
 | 
			
		||||
import {Util} from '@docker/actions-toolkit/lib/util';
 | 
			
		||||
 | 
			
		||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder';
 | 
			
		||||
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker';
 | 
			
		||||
import {UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github';
 | 
			
		||||
 | 
			
		||||
import * as context from './context';
 | 
			
		||||
 | 
			
		||||
actionsToolkit.run(
 | 
			
		||||
  // main
 | 
			
		||||
  async () => {
 | 
			
		||||
    const startedTime = new Date();
 | 
			
		||||
    const inputs: context.Inputs = await context.getInputs();
 | 
			
		||||
    core.debug(`inputs: ${JSON.stringify(inputs)}`);
 | 
			
		||||
    stateHelper.setInputs(inputs);
 | 
			
		||||
 | 
			
		||||
    const toolkit = new Toolkit();
 | 
			
		||||
 | 
			
		||||
@@ -75,8 +82,9 @@ actionsToolkit.run(
 | 
			
		||||
      await toolkit.buildx.printVersion();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    let builder: BuilderInfo;
 | 
			
		||||
    await core.group(`Builder info`, async () => {
 | 
			
		||||
      const builder = await toolkit.builder.inspect(inputs.builder);
 | 
			
		||||
      builder = await toolkit.builder.inspect(inputs.builder);
 | 
			
		||||
      core.info(JSON.stringify(builder, null, 2));
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
@@ -87,18 +95,23 @@ actionsToolkit.run(
 | 
			
		||||
    core.debug(`buildCmd.command: ${buildCmd.command}`);
 | 
			
		||||
    core.debug(`buildCmd.args: ${JSON.stringify(buildCmd.args)}`);
 | 
			
		||||
 | 
			
		||||
    let err: Error | undefined;
 | 
			
		||||
    await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
 | 
			
		||||
      ignoreReturnCode: true
 | 
			
		||||
      ignoreReturnCode: true,
 | 
			
		||||
      env: Object.assign({}, process.env, {
 | 
			
		||||
        BUILDX_METADATA_WARNINGS: 'true'
 | 
			
		||||
      }) as {
 | 
			
		||||
        [key: string]: string;
 | 
			
		||||
      }
 | 
			
		||||
    }).then(res => {
 | 
			
		||||
      if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
			
		||||
        throw new Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
 | 
			
		||||
        err = Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    const imageID = toolkit.buildxBuild.resolveImageID();
 | 
			
		||||
    const metadata = toolkit.buildxBuild.resolveMetadata();
 | 
			
		||||
    const digest = toolkit.buildxBuild.resolveDigest();
 | 
			
		||||
 | 
			
		||||
    const digest = toolkit.buildxBuild.resolveDigest(metadata);
 | 
			
		||||
    if (imageID) {
 | 
			
		||||
      await core.group(`ImageID`, async () => {
 | 
			
		||||
        core.info(imageID);
 | 
			
		||||
@@ -118,9 +131,90 @@ actionsToolkit.run(
 | 
			
		||||
        core.setOutput('metadata', metadatadt);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let ref: string | undefined;
 | 
			
		||||
    await core.group(`Reference`, async () => {
 | 
			
		||||
      ref = await buildRef(toolkit, startedTime, inputs.builder);
 | 
			
		||||
      if (ref) {
 | 
			
		||||
        core.info(ref);
 | 
			
		||||
        stateHelper.setBuildRef(ref);
 | 
			
		||||
      } else {
 | 
			
		||||
        core.info('No build reference found');
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    if (buildChecksAnnotationsEnabled()) {
 | 
			
		||||
      const warnings = toolkit.buildxBuild.resolveWarnings(metadata);
 | 
			
		||||
      if (ref && warnings && warnings.length > 0) {
 | 
			
		||||
        const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, [ref]);
 | 
			
		||||
        core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
 | 
			
		||||
        if (annotations && annotations.length > 0) {
 | 
			
		||||
          await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
 | 
			
		||||
            for (const annotation of annotations) {
 | 
			
		||||
              core.warning(annotation.message, annotation);
 | 
			
		||||
            }
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    await core.group(`Check build summary support`, async () => {
 | 
			
		||||
      if (!buildSummaryEnabled()) {
 | 
			
		||||
        core.info('Build summary disabled');
 | 
			
		||||
      } else if (GitHub.isGHES) {
 | 
			
		||||
        core.info('Build summary is not yet supported on GHES');
 | 
			
		||||
      } else if (!(await toolkit.buildx.versionSatisfies('>=0.13.0'))) {
 | 
			
		||||
        core.info('Build summary requires Buildx >= 0.13.0');
 | 
			
		||||
      } else if (builder && builder.driver === 'cloud') {
 | 
			
		||||
        core.info('Build summary is not yet supported with Docker Build Cloud');
 | 
			
		||||
      } else if (!ref) {
 | 
			
		||||
        core.info('Build summary requires a build reference');
 | 
			
		||||
      } else {
 | 
			
		||||
        core.info('Build summary supported!');
 | 
			
		||||
        stateHelper.setSummarySupported();
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    if (err) {
 | 
			
		||||
      throw err;
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  // post
 | 
			
		||||
  async () => {
 | 
			
		||||
    if (stateHelper.isSummarySupported) {
 | 
			
		||||
      await core.group(`Generating build summary`, async () => {
 | 
			
		||||
        try {
 | 
			
		||||
          const recordUploadEnabled = buildRecordUploadEnabled();
 | 
			
		||||
          let recordRetentionDays: number | undefined;
 | 
			
		||||
          if (recordUploadEnabled) {
 | 
			
		||||
            recordRetentionDays = buildRecordRetentionDays();
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          const buildxHistory = new BuildxHistory();
 | 
			
		||||
          const exportRes = await buildxHistory.export({
 | 
			
		||||
            refs: stateHelper.buildRef ? [stateHelper.buildRef] : []
 | 
			
		||||
          });
 | 
			
		||||
          core.info(`Build record written to ${exportRes.dockerbuildFilename} (${Util.formatFileSize(exportRes.dockerbuildSize)})`);
 | 
			
		||||
 | 
			
		||||
          let uploadRes: UploadArtifactResponse | undefined;
 | 
			
		||||
          if (recordUploadEnabled) {
 | 
			
		||||
            uploadRes = await GitHub.uploadArtifact({
 | 
			
		||||
              filename: exportRes.dockerbuildFilename,
 | 
			
		||||
              mimeType: 'application/gzip',
 | 
			
		||||
              retentionDays: recordRetentionDays
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          await GitHub.writeBuildSummary({
 | 
			
		||||
            exportRes: exportRes,
 | 
			
		||||
            uploadRes: uploadRes,
 | 
			
		||||
            inputs: stateHelper.inputs
 | 
			
		||||
          });
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
          core.warning(e.message);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
    if (stateHelper.tmpDir.length > 0) {
 | 
			
		||||
      await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
 | 
			
		||||
        fs.rmSync(stateHelper.tmpDir, {recursive: true});
 | 
			
		||||
@@ -128,3 +222,63 @@ actionsToolkit.run(
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
async function buildRef(toolkit: Toolkit, since: Date, builder?: string): Promise<string> {
 | 
			
		||||
  // get ref from metadata file
 | 
			
		||||
  const ref = toolkit.buildxBuild.resolveRef();
 | 
			
		||||
  if (ref) {
 | 
			
		||||
    return ref;
 | 
			
		||||
  }
 | 
			
		||||
  // otherwise, look for the very first build ref since the build has started
 | 
			
		||||
  if (!builder) {
 | 
			
		||||
    const currentBuilder = await toolkit.builder.inspect();
 | 
			
		||||
    builder = currentBuilder.name;
 | 
			
		||||
  }
 | 
			
		||||
  const refs = Buildx.refs({
 | 
			
		||||
    dir: Buildx.refsDir,
 | 
			
		||||
    builderName: builder,
 | 
			
		||||
    since: since
 | 
			
		||||
  });
 | 
			
		||||
  return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildChecksAnnotationsEnabled(): boolean {
 | 
			
		||||
  if (process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS) {
 | 
			
		||||
    return Util.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS);
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildSummaryEnabled(): boolean {
 | 
			
		||||
  if (process.env.DOCKER_BUILD_NO_SUMMARY) {
 | 
			
		||||
    core.warning('DOCKER_BUILD_NO_SUMMARY is deprecated. Set DOCKER_BUILD_SUMMARY to false instead.');
 | 
			
		||||
    return !Util.parseBool(process.env.DOCKER_BUILD_NO_SUMMARY);
 | 
			
		||||
  } else if (process.env.DOCKER_BUILD_SUMMARY) {
 | 
			
		||||
    return Util.parseBool(process.env.DOCKER_BUILD_SUMMARY);
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildRecordUploadEnabled(): boolean {
 | 
			
		||||
  if (process.env.DOCKER_BUILD_RECORD_UPLOAD) {
 | 
			
		||||
    return Util.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD);
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildRecordRetentionDays(): number | undefined {
 | 
			
		||||
  let val: string | undefined;
 | 
			
		||||
  if (process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS) {
 | 
			
		||||
    core.warning('DOCKER_BUILD_EXPORT_RETENTION_DAYS is deprecated. Use DOCKER_BUILD_RECORD_RETENTION_DAYS instead.');
 | 
			
		||||
    val = process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS;
 | 
			
		||||
  } else if (process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS) {
 | 
			
		||||
    val = process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;
 | 
			
		||||
  }
 | 
			
		||||
  if (val) {
 | 
			
		||||
    const res = parseInt(val);
 | 
			
		||||
    if (isNaN(res)) {
 | 
			
		||||
      throw Error(`Invalid build record retention days: ${val}`);
 | 
			
		||||
    }
 | 
			
		||||
    return res;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,24 @@
 | 
			
		||||
import * as core from '@actions/core';
 | 
			
		||||
 | 
			
		||||
import {Inputs, sanitizeInputs} from './context';
 | 
			
		||||
 | 
			
		||||
export const tmpDir = process.env['STATE_tmpDir'] || '';
 | 
			
		||||
export const inputs = process.env['STATE_inputs'] ? JSON.parse(process.env['STATE_inputs']) : undefined;
 | 
			
		||||
export const buildRef = process.env['STATE_buildRef'] || '';
 | 
			
		||||
export const isSummarySupported = !!process.env['STATE_isSummarySupported'];
 | 
			
		||||
 | 
			
		||||
export function setTmpDir(tmpDir: string) {
 | 
			
		||||
  core.saveState('tmpDir', tmpDir);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function setInputs(inputs: Inputs) {
 | 
			
		||||
  core.saveState('inputs', JSON.stringify(sanitizeInputs(inputs)));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function setBuildRef(buildRef: string) {
 | 
			
		||||
  core.saveState('buildRef', buildRef);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function setSummarySupported() {
 | 
			
		||||
  core.saveState('isSummarySupported', 'true');
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								test/lint.Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								test/lint.Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
frOM busybox as base
 | 
			
		||||
cOpy lint.Dockerfile .
 | 
			
		||||
 | 
			
		||||
from scratch
 | 
			
		||||
MAINTAINER moby@example.com
 | 
			
		||||
COPy --from=base \
 | 
			
		||||
  /lint.Dockerfile \
 | 
			
		||||
  /
 | 
			
		||||
 | 
			
		||||
CMD [ "echo", "Hello, Norway!" ]
 | 
			
		||||
CMD [ "echo", "Hello, Sweden!" ]
 | 
			
		||||
ENTRYPOINT my-program start
 | 
			
		||||
							
								
								
									
										212
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										212
									
								
								yarn.lock
									
									
									
									
									
								
							@@ -12,9 +12,9 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"@actions/artifact@npm:^2.1.7":
 | 
			
		||||
  version: 2.1.7
 | 
			
		||||
  resolution: "@actions/artifact@npm:2.1.7"
 | 
			
		||||
"@actions/artifact@npm:^2.1.9":
 | 
			
		||||
  version: 2.1.9
 | 
			
		||||
  resolution: "@actions/artifact@npm:2.1.9"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@actions/core": ^1.10.0
 | 
			
		||||
    "@actions/github": ^5.1.1
 | 
			
		||||
@@ -30,7 +30,7 @@ __metadata:
 | 
			
		||||
    jwt-decode: ^3.1.2
 | 
			
		||||
    twirp-ts: ^2.5.0
 | 
			
		||||
    unzip-stream: ^0.3.1
 | 
			
		||||
  checksum: 346c7caf43bdeb4a96c044ca3a6a005d82b977178b1a6be2c6954dfd59fef3344d2576bdd07c6cac9b54207cc88d7b1161cabd08c7cc15a1db86bf82463b36c7
 | 
			
		||||
  checksum: b01404aa6b4d47186e04a64c0002100ff68a8473eafb811a3d49275a7e1135d1981ccaf527b81c4856f6da764beabe7489fd296bb287906fd7c1964dfaeef3df
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
@@ -105,7 +105,7 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0, @actions/http-client@npm:^2.2.1":
 | 
			
		||||
"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0":
 | 
			
		||||
  version: 2.2.1
 | 
			
		||||
  resolution: "@actions/http-client@npm:2.2.1"
 | 
			
		||||
  dependencies:
 | 
			
		||||
@@ -115,6 +115,16 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"@actions/http-client@npm:^2.2.3":
 | 
			
		||||
  version: 2.2.3
 | 
			
		||||
  resolution: "@actions/http-client@npm:2.2.3"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    tunnel: ^0.0.6
 | 
			
		||||
    undici: ^5.25.4
 | 
			
		||||
  checksum: 5d395df575d30ae599efa10dd715e72944b015e753db61f0a823f737acbb0e99743d4a9f25e812b18ec8cc34f86c73565d075c449e01ffa891577b6595212dde
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3":
 | 
			
		||||
  version: 1.1.3
 | 
			
		||||
  resolution: "@actions/io@npm:1.1.3"
 | 
			
		||||
@@ -1055,16 +1065,16 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"@docker/actions-toolkit@npm:0.24.0":
 | 
			
		||||
  version: 0.24.0
 | 
			
		||||
  resolution: "@docker/actions-toolkit@npm:0.24.0"
 | 
			
		||||
"@docker/actions-toolkit@npm:0.39.0":
 | 
			
		||||
  version: 0.39.0
 | 
			
		||||
  resolution: "@docker/actions-toolkit@npm:0.39.0"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@actions/artifact": ^2.1.7
 | 
			
		||||
    "@actions/artifact": ^2.1.9
 | 
			
		||||
    "@actions/cache": ^3.2.4
 | 
			
		||||
    "@actions/core": ^1.10.1
 | 
			
		||||
    "@actions/exec": ^1.1.1
 | 
			
		||||
    "@actions/github": ^6.0.0
 | 
			
		||||
    "@actions/http-client": ^2.2.1
 | 
			
		||||
    "@actions/http-client": ^2.2.3
 | 
			
		||||
    "@actions/io": ^1.1.3
 | 
			
		||||
    "@actions/tool-cache": ^2.0.1
 | 
			
		||||
    "@azure/storage-blob": ^12.15.0
 | 
			
		||||
@@ -1072,12 +1082,15 @@ __metadata:
 | 
			
		||||
    "@octokit/plugin-rest-endpoint-methods": ^10.4.0
 | 
			
		||||
    async-retry: ^1.3.3
 | 
			
		||||
    csv-parse: ^5.5.6
 | 
			
		||||
    gunzip-maybe: ^1.4.2
 | 
			
		||||
    handlebars: ^4.7.8
 | 
			
		||||
    he: ^1.2.0
 | 
			
		||||
    js-yaml: ^4.1.0
 | 
			
		||||
    jwt-decode: ^4.0.0
 | 
			
		||||
    semver: ^7.6.2
 | 
			
		||||
    semver: ^7.6.3
 | 
			
		||||
    tar-stream: ^3.1.7
 | 
			
		||||
    tmp: ^0.2.3
 | 
			
		||||
  checksum: f9610ca263ba98bdf52736727b375930e2d20402e810c3d1d69b74fbe0a1c689ce4f04a1d02e058e9958a059c3bf01358d4428363bd02c702c05fda9e3fd82af
 | 
			
		||||
  checksum: 9dafe3c3e02f6f78c8da4cfb8bc726ae5eef9b6a2fedfca5d75ee6d6c559745c12aa16587dd595360f76be91803235dc66e0852e595ef7a582506fa0d4402983
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
@@ -2627,11 +2640,20 @@ __metadata:
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"braces@npm:^3.0.1":
 | 
			
		||||
  version: 3.0.2
 | 
			
		||||
  resolution: "braces@npm:3.0.2"
 | 
			
		||||
  version: 3.0.3
 | 
			
		||||
  resolution: "braces@npm:3.0.3"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    fill-range: ^7.0.1
 | 
			
		||||
  checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459
 | 
			
		||||
    fill-range: ^7.1.1
 | 
			
		||||
  checksum: b95aa0b3bd909f6cd1720ffcf031aeaf46154dd88b4da01f9a1d3f7ea866a79eba76a6d01cbc3c422b2ee5cdc39a4f02491058d5df0d7bf6e6a162a832df1f69
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"browserify-zlib@npm:^0.1.4":
 | 
			
		||||
  version: 0.1.4
 | 
			
		||||
  resolution: "browserify-zlib@npm:0.1.4"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    pako: ~0.2.0
 | 
			
		||||
  checksum: abee4cb4349e8a21391fd874564f41b113fe691372913980e6fa06a777e4ea2aad4e942af14ab99bce190d5ac8f5328201432f4ef0eae48c6d02208bc212976f
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
@@ -3138,7 +3160,7 @@ __metadata:
 | 
			
		||||
  resolution: "docker-build-push@workspace:."
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@actions/core": ^1.10.1
 | 
			
		||||
    "@docker/actions-toolkit": 0.24.0
 | 
			
		||||
    "@docker/actions-toolkit": 0.39.0
 | 
			
		||||
    "@types/node": ^20.12.12
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": ^7.9.0
 | 
			
		||||
    "@typescript-eslint/parser": ^7.9.0
 | 
			
		||||
@@ -3177,6 +3199,18 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
 | 
			
		||||
  version: 3.7.1
 | 
			
		||||
  resolution: "duplexify@npm:3.7.1"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    end-of-stream: ^1.0.0
 | 
			
		||||
    inherits: ^2.0.1
 | 
			
		||||
    readable-stream: ^2.0.0
 | 
			
		||||
    stream-shift: ^1.0.0
 | 
			
		||||
  checksum: 3c2ed2223d956a5da713dae12ba8295acb61d9acd966ccbba938090d04f4574ca4dca75cca089b5077c2d7e66101f32e6ea9b36a78ca213eff574e7a8b8accf2
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"eastasianwidth@npm:^0.2.0":
 | 
			
		||||
  version: 0.2.0
 | 
			
		||||
  resolution: "eastasianwidth@npm:0.2.0"
 | 
			
		||||
@@ -3228,6 +3262,15 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0":
 | 
			
		||||
  version: 1.4.4
 | 
			
		||||
  resolution: "end-of-stream@npm:1.4.4"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    once: ^1.4.0
 | 
			
		||||
  checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"env-paths@npm:^2.2.0":
 | 
			
		||||
  version: 2.2.1
 | 
			
		||||
  resolution: "env-paths@npm:2.2.1"
 | 
			
		||||
@@ -3593,12 +3636,12 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"fill-range@npm:^7.0.1":
 | 
			
		||||
  version: 7.0.1
 | 
			
		||||
  resolution: "fill-range@npm:7.0.1"
 | 
			
		||||
"fill-range@npm:^7.1.1":
 | 
			
		||||
  version: 7.1.1
 | 
			
		||||
  resolution: "fill-range@npm:7.1.1"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    to-regex-range: ^5.0.1
 | 
			
		||||
  checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917
 | 
			
		||||
  checksum: b4abfbca3839a3d55e4ae5ec62e131e2e356bf4859ce8480c64c4876100f4df292a63e5bb1618e1d7460282ca2b305653064f01654474aa35c68000980f17798
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
@@ -3873,6 +3916,22 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"gunzip-maybe@npm:^1.4.2":
 | 
			
		||||
  version: 1.4.2
 | 
			
		||||
  resolution: "gunzip-maybe@npm:1.4.2"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    browserify-zlib: ^0.1.4
 | 
			
		||||
    is-deflate: ^1.0.0
 | 
			
		||||
    is-gzip: ^1.0.0
 | 
			
		||||
    peek-stream: ^1.1.0
 | 
			
		||||
    pumpify: ^1.3.3
 | 
			
		||||
    through2: ^2.0.3
 | 
			
		||||
  bin:
 | 
			
		||||
    gunzip-maybe: bin.js
 | 
			
		||||
  checksum: bc4d4977c24a2860238df271de75d53dd72a359d19f1248d1c613807dc221d3b8ae09624e3085c8106663e3e1b59db62a85b261d1138c2cc24efad9df577d4e1
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"handlebars@npm:^4.7.7, handlebars@npm:^4.7.8":
 | 
			
		||||
  version: 4.7.8
 | 
			
		||||
  resolution: "handlebars@npm:4.7.8"
 | 
			
		||||
@@ -3914,6 +3973,15 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"he@npm:^1.2.0":
 | 
			
		||||
  version: 1.2.0
 | 
			
		||||
  resolution: "he@npm:1.2.0"
 | 
			
		||||
  bin:
 | 
			
		||||
    he: bin/he
 | 
			
		||||
  checksum: 3d4d6babccccd79c5c5a3f929a68af33360d6445587d628087f39a965079d84f18ce9c3d3f917ee1e3978916fc833bb8b29377c3b403f919426f91bc6965e7a7
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"html-escaper@npm:^2.0.0":
 | 
			
		||||
  version: 2.0.2
 | 
			
		||||
  resolution: "html-escaper@npm:2.0.2"
 | 
			
		||||
@@ -4031,7 +4099,7 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"inherits@npm:2, inherits@npm:~2.0.3":
 | 
			
		||||
"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3":
 | 
			
		||||
  version: 2.0.4
 | 
			
		||||
  resolution: "inherits@npm:2.0.4"
 | 
			
		||||
  checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1
 | 
			
		||||
@@ -4064,6 +4132,13 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"is-deflate@npm:^1.0.0":
 | 
			
		||||
  version: 1.0.0
 | 
			
		||||
  resolution: "is-deflate@npm:1.0.0"
 | 
			
		||||
  checksum: c2f9f2d3db79ac50c5586697d1e69a55282a2b0cc5e437b3c470dd47f24e40b6216dcd7e024511e21381607bf57afa019343e3bd0e08a119032818b596004262
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"is-extglob@npm:^2.1.1":
 | 
			
		||||
  version: 2.1.1
 | 
			
		||||
  resolution: "is-extglob@npm:2.1.1"
 | 
			
		||||
@@ -4094,6 +4169,13 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"is-gzip@npm:^1.0.0":
 | 
			
		||||
  version: 1.0.0
 | 
			
		||||
  resolution: "is-gzip@npm:1.0.0"
 | 
			
		||||
  checksum: 0d28931c1f445fa29c900cf9f48e06e9d1d477a3bf7bd7332e7ce68f1333ccd8cb381de2f0f62a9a262d9c0912608a9a71b4a40e788e201b3dbd67072bb20d86
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"is-lambda@npm:^1.0.1":
 | 
			
		||||
  version: 1.0.1
 | 
			
		||||
  resolution: "is-lambda@npm:1.0.1"
 | 
			
		||||
@@ -5269,7 +5351,7 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"once@npm:^1.3.0, once@npm:^1.4.0":
 | 
			
		||||
"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
 | 
			
		||||
  version: 1.4.0
 | 
			
		||||
  resolution: "once@npm:1.4.0"
 | 
			
		||||
  dependencies:
 | 
			
		||||
@@ -5353,6 +5435,13 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"pako@npm:~0.2.0":
 | 
			
		||||
  version: 0.2.9
 | 
			
		||||
  resolution: "pako@npm:0.2.9"
 | 
			
		||||
  checksum: 055f9487cd57fbb78df84315873bbdd089ba286f3499daed47d2effdc6253e981f5db6898c23486de76d4a781559f890d643bd3a49f70f1b4a18019c98aa5125
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"parent-module@npm:^1.0.0":
 | 
			
		||||
  version: 1.0.1
 | 
			
		||||
  resolution: "parent-module@npm:1.0.1"
 | 
			
		||||
@@ -5423,9 +5512,9 @@ __metadata:
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"path-to-regexp@npm:^6.2.0":
 | 
			
		||||
  version: 6.2.2
 | 
			
		||||
  resolution: "path-to-regexp@npm:6.2.2"
 | 
			
		||||
  checksum: b7b0005c36f5099f9ed1fb20a820d2e4ed1297ffe683ea1d678f5e976eb9544f01debb281369dabdc26da82e6453901bf71acf2c7ed14b9243536c2a45286c33
 | 
			
		||||
  version: 6.3.0
 | 
			
		||||
  resolution: "path-to-regexp@npm:6.3.0"
 | 
			
		||||
  checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
@@ -5436,6 +5525,17 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"peek-stream@npm:^1.1.0":
 | 
			
		||||
  version: 1.1.3
 | 
			
		||||
  resolution: "peek-stream@npm:1.1.3"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    buffer-from: ^1.0.0
 | 
			
		||||
    duplexify: ^3.5.0
 | 
			
		||||
    through2: ^2.0.3
 | 
			
		||||
  checksum: a0e09d6d1a8a01158a3334f20d6b1cdd91747eba24eb06a1d742eefb620385593121a76d4378cc81f77cdce6a66df0575a41041b1189c510254aec91878afc99
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"picocolors@npm:^1.0.0":
 | 
			
		||||
  version: 1.0.0
 | 
			
		||||
  resolution: "picocolors@npm:1.0.0"
 | 
			
		||||
@@ -5559,6 +5659,27 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"pump@npm:^2.0.0":
 | 
			
		||||
  version: 2.0.1
 | 
			
		||||
  resolution: "pump@npm:2.0.1"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    end-of-stream: ^1.1.0
 | 
			
		||||
    once: ^1.3.1
 | 
			
		||||
  checksum: e9f26a17be00810bff37ad0171edb35f58b242487b0444f92fb7d78bc7d61442fa9b9c5bd93a43fd8fd8ddd3cc75f1221f5e04c790f42907e5baab7cf5e2b931
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"pumpify@npm:^1.3.3":
 | 
			
		||||
  version: 1.5.1
 | 
			
		||||
  resolution: "pumpify@npm:1.5.1"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    duplexify: ^3.6.0
 | 
			
		||||
    inherits: ^2.0.3
 | 
			
		||||
    pump: ^2.0.0
 | 
			
		||||
  checksum: 26ca412ec8d665bd0d5e185c1b8f627728eff603440d75d22a58e421e3c66eaf86ec6fc6a6efc54808ecef65979279fa8e99b109a23ec1fa8d79f37e6978c9bd
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"punycode@npm:^2.1.0":
 | 
			
		||||
  version: 2.1.1
 | 
			
		||||
  resolution: "punycode@npm:2.1.1"
 | 
			
		||||
@@ -5594,7 +5715,7 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"readable-stream@npm:^2.0.5":
 | 
			
		||||
"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.5, readable-stream@npm:~2.3.6":
 | 
			
		||||
  version: 2.3.8
 | 
			
		||||
  resolution: "readable-stream@npm:2.3.8"
 | 
			
		||||
  dependencies:
 | 
			
		||||
@@ -5783,7 +5904,7 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"semver@npm:^7.6.0, semver@npm:^7.6.2":
 | 
			
		||||
"semver@npm:^7.6.0":
 | 
			
		||||
  version: 7.6.2
 | 
			
		||||
  resolution: "semver@npm:7.6.2"
 | 
			
		||||
  bin:
 | 
			
		||||
@@ -5792,6 +5913,15 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"semver@npm:^7.6.3":
 | 
			
		||||
  version: 7.6.3
 | 
			
		||||
  resolution: "semver@npm:7.6.3"
 | 
			
		||||
  bin:
 | 
			
		||||
    semver: bin/semver.js
 | 
			
		||||
  checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"shebang-command@npm:^2.0.0":
 | 
			
		||||
  version: 2.0.0
 | 
			
		||||
  resolution: "shebang-command@npm:2.0.0"
 | 
			
		||||
@@ -5920,6 +6050,13 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"stream-shift@npm:^1.0.0":
 | 
			
		||||
  version: 1.0.3
 | 
			
		||||
  resolution: "stream-shift@npm:1.0.3"
 | 
			
		||||
  checksum: a24c0a3f66a8f9024bd1d579a533a53be283b4475d4e6b4b3211b964031447bdf6532dd1f3c2b0ad66752554391b7c62bd7ca4559193381f766534e723d50242
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"streamx@npm:^2.15.0":
 | 
			
		||||
  version: 2.16.1
 | 
			
		||||
  resolution: "streamx@npm:2.16.1"
 | 
			
		||||
@@ -6087,7 +6224,7 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"tar-stream@npm:^3.0.0":
 | 
			
		||||
"tar-stream@npm:^3.0.0, tar-stream@npm:^3.1.7":
 | 
			
		||||
  version: 3.1.7
 | 
			
		||||
  resolution: "tar-stream@npm:3.1.7"
 | 
			
		||||
  dependencies:
 | 
			
		||||
@@ -6130,6 +6267,16 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"through2@npm:^2.0.3":
 | 
			
		||||
  version: 2.0.5
 | 
			
		||||
  resolution: "through2@npm:2.0.5"
 | 
			
		||||
  dependencies:
 | 
			
		||||
    readable-stream: ~2.3.6
 | 
			
		||||
    xtend: ~4.0.1
 | 
			
		||||
  checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"tmp@npm:^0.2.3":
 | 
			
		||||
  version: 0.2.3
 | 
			
		||||
  resolution: "tmp@npm:0.2.3"
 | 
			
		||||
@@ -6623,6 +6770,13 @@ __metadata:
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"xtend@npm:~4.0.1":
 | 
			
		||||
  version: 4.0.2
 | 
			
		||||
  resolution: "xtend@npm:4.0.2"
 | 
			
		||||
  checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a
 | 
			
		||||
  languageName: node
 | 
			
		||||
  linkType: hard
 | 
			
		||||
 | 
			
		||||
"y18n@npm:^5.0.5":
 | 
			
		||||
  version: 5.0.8
 | 
			
		||||
  resolution: "y18n@npm:5.0.8"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user