Compare commits
	
		
			54 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					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 | 
							
								
								
									
										
											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  | 
							
								
								
									
										121
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										121
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@@ -1345,7 +1345,30 @@ jobs:
 | 
				
			|||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          docker image inspect localhost:5000/name/app:latest
 | 
					          docker image inspect localhost:5000/name/app:latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  disable-summary:
 | 
					  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
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      -
 | 
					      -
 | 
				
			||||||
@@ -1368,7 +1391,51 @@ jobs:
 | 
				
			|||||||
        env:
 | 
					        env:
 | 
				
			||||||
          DOCKER_BUILD_NO_SUMMARY: true
 | 
					          DOCKER_BUILD_NO_SUMMARY: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  export-retention-days:
 | 
					  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
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    strategy:
 | 
					    strategy:
 | 
				
			||||||
      fail-fast: false
 | 
					      fail-fast: false
 | 
				
			||||||
@@ -1395,4 +1462,52 @@ jobs:
 | 
				
			|||||||
        with:
 | 
					        with:
 | 
				
			||||||
          file: ./test/Dockerfile
 | 
					          file: ./test/Dockerfile
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          DOCKER_BUILD_EXPORT_RETENTION_DAYS: ${{ matrix.days }}
 | 
					          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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										57
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										57
									
								
								README.md
									
									
									
									
									
								
							@@ -19,21 +19,7 @@ ___
 | 
				
			|||||||
  * [Git context](#git-context)
 | 
					  * [Git context](#git-context)
 | 
				
			||||||
  * [Path context](#path-context)
 | 
					  * [Path context](#path-context)
 | 
				
			||||||
* [Examples](#examples)
 | 
					* [Examples](#examples)
 | 
				
			||||||
  * [Multi-platform image](https://docs.docker.com/build/ci/github-actions/multi-platform/)
 | 
					* [Summaries](#summaries)
 | 
				
			||||||
  * [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/)
 | 
					 | 
				
			||||||
* [Customizing](#customizing)
 | 
					* [Customizing](#customizing)
 | 
				
			||||||
  * [inputs](#inputs)
 | 
					  * [inputs](#inputs)
 | 
				
			||||||
  * [outputs](#outputs)
 | 
					  * [outputs](#outputs)
 | 
				
			||||||
@@ -69,8 +55,6 @@ name: ci
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - 'main'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  docker:
 | 
					  docker:
 | 
				
			||||||
@@ -108,11 +92,6 @@ expression `{{defaultContext}}`. Here we can use it to provide a subdirectory
 | 
				
			|||||||
to the default Git context:
 | 
					to the default Git context:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```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
 | 
					        name: Build and push
 | 
				
			||||||
        uses: docker/build-push-action@v6
 | 
					        uses: docker/build-push-action@v6
 | 
				
			||||||
@@ -145,8 +124,6 @@ name: ci
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - 'main'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  docker:
 | 
					  docker:
 | 
				
			||||||
@@ -194,11 +171,31 @@ jobs:
 | 
				
			|||||||
* [Annotations](https://docs.docker.com/build/ci/github-actions/annotations/)
 | 
					* [Annotations](https://docs.docker.com/build/ci/github-actions/annotations/)
 | 
				
			||||||
* [Reproducible builds](https://docs.docker.com/build/ci/github-actions/reproducible-builds/)
 | 
					* [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
 | 
					## Customizing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### inputs
 | 
					### 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
 | 
					> `List` type is a newline-delimited string
 | 
				
			||||||
> ```yaml
 | 
					> ```yaml
 | 
				
			||||||
@@ -259,10 +256,12 @@ The following outputs are available:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### environment variables
 | 
					### environment variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name                                 | Type   | Description                                                                                                                                                                                                                                                        |
 | 
					| Name                                 | Type   | Default | Description                                                                                                                                                                                                                                                        |
 | 
				
			||||||
|--------------------------------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | 
					|--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | 
				
			||||||
| `DOCKER_BUILD_NO_SUMMARY`            | Bool   | If `true`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled                                                                                                                                                  |
 | 
					| `DOCKER_BUILD_CHECKS_ANNOTATIONS`    | Bool   | `true`  | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/)                                                                                                                                                         |
 | 
				
			||||||
| `DOCKER_BUILD_EXPORT_RETENTION_DAYS` | Number | Duration after which build export 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` |
 | 
					| `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
 | 
					## Troubleshooting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								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
											
										
									
								
							@@ -27,7 +27,7 @@
 | 
				
			|||||||
  "packageManager": "yarn@3.6.3",
 | 
					  "packageManager": "yarn@3.6.3",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@actions/core": "^1.10.1",
 | 
					    "@actions/core": "^1.10.1",
 | 
				
			||||||
    "@docker/actions-toolkit": "0.28.0",
 | 
					    "@docker/actions-toolkit": "0.37.1",
 | 
				
			||||||
    "handlebars": "^4.7.7"
 | 
					    "handlebars": "^4.7.7"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										122
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										122
									
								
								src/main.ts
									
									
									
									
									
								
							@@ -13,7 +13,9 @@ import {GitHub} from '@docker/actions-toolkit/lib/github';
 | 
				
			|||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
 | 
					import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
 | 
				
			||||||
import {Util} from '@docker/actions-toolkit/lib/util';
 | 
					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 {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker';
 | 
				
			||||||
 | 
					import {UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as context from './context';
 | 
					import * as context from './context';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -80,10 +82,10 @@ actionsToolkit.run(
 | 
				
			|||||||
      await toolkit.buildx.printVersion();
 | 
					      await toolkit.buildx.printVersion();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let builder: BuilderInfo;
 | 
				
			||||||
    await core.group(`Builder info`, async () => {
 | 
					    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));
 | 
					      core.info(JSON.stringify(builder, null, 2));
 | 
				
			||||||
      stateHelper.setBuilder(builder);
 | 
					 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const args: string[] = await context.getArgs(inputs, toolkit);
 | 
					    const args: string[] = await context.getArgs(inputs, toolkit);
 | 
				
			||||||
@@ -95,7 +97,12 @@ actionsToolkit.run(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    let err: Error | undefined;
 | 
					    let err: Error | undefined;
 | 
				
			||||||
    await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
 | 
					    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 => {
 | 
					    }).then(res => {
 | 
				
			||||||
      if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
					      if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
        err = 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'}`);
 | 
				
			||||||
@@ -104,8 +111,7 @@ actionsToolkit.run(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    const imageID = toolkit.buildxBuild.resolveImageID();
 | 
					    const imageID = toolkit.buildxBuild.resolveImageID();
 | 
				
			||||||
    const metadata = toolkit.buildxBuild.resolveMetadata();
 | 
					    const metadata = toolkit.buildxBuild.resolveMetadata();
 | 
				
			||||||
    const digest = toolkit.buildxBuild.resolveDigest();
 | 
					    const digest = toolkit.buildxBuild.resolveDigest(metadata);
 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (imageID) {
 | 
					    if (imageID) {
 | 
				
			||||||
      await core.group(`ImageID`, async () => {
 | 
					      await core.group(`ImageID`, async () => {
 | 
				
			||||||
        core.info(imageID);
 | 
					        core.info(imageID);
 | 
				
			||||||
@@ -125,43 +131,80 @@ actionsToolkit.run(
 | 
				
			|||||||
        core.setOutput('metadata', metadatadt);
 | 
					        core.setOutput('metadata', metadatadt);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let ref: string | undefined;
 | 
				
			||||||
    await core.group(`Reference`, async () => {
 | 
					    await core.group(`Reference`, async () => {
 | 
				
			||||||
      const ref = await buildRef(toolkit, startedTime, inputs.builder);
 | 
					      ref = await buildRef(toolkit, startedTime, inputs.builder);
 | 
				
			||||||
      if (ref) {
 | 
					      if (ref) {
 | 
				
			||||||
        core.info(ref);
 | 
					        core.info(ref);
 | 
				
			||||||
        stateHelper.setBuildRef(ref);
 | 
					        stateHelper.setBuildRef(ref);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        core.warning('No build ref found');
 | 
					        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.warning('Build summary is not yet supported on GHES');
 | 
				
			||||||
 | 
					      } else if (!(await toolkit.buildx.versionSatisfies('>=0.13.0'))) {
 | 
				
			||||||
 | 
					        core.warning('Build summary requires Buildx >= 0.13.0');
 | 
				
			||||||
 | 
					      } else if (builder && builder.driver === 'cloud') {
 | 
				
			||||||
 | 
					        core.warning('Build summary is not yet supported with Docker Build Cloud');
 | 
				
			||||||
 | 
					      } else if (!ref) {
 | 
				
			||||||
 | 
					        core.warning('Build summary requires a build reference');
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        core.info('Build summary supported!');
 | 
				
			||||||
 | 
					        stateHelper.setSummarySupported();
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (err) {
 | 
					    if (err) {
 | 
				
			||||||
      throw err;
 | 
					      throw err;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  // post
 | 
					  // post
 | 
				
			||||||
  async () => {
 | 
					  async () => {
 | 
				
			||||||
    if (stateHelper.buildRef.length > 0) {
 | 
					    if (stateHelper.isSummarySupported) {
 | 
				
			||||||
      await core.group(`Generating build summary`, async () => {
 | 
					      await core.group(`Generating build summary`, async () => {
 | 
				
			||||||
        if (process.env.DOCKER_BUILD_NO_SUMMARY && Util.parseBool(process.env.DOCKER_BUILD_NO_SUMMARY)) {
 | 
					 | 
				
			||||||
          core.info('Summary disabled');
 | 
					 | 
				
			||||||
          return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (stateHelper.builder && stateHelper.builder.driver === 'cloud') {
 | 
					 | 
				
			||||||
          core.info('Summary is not yet supported with Docker Build Cloud');
 | 
					 | 
				
			||||||
          return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
          const exportRetentionDays = buildExportRetentionDays();
 | 
					          const recordUploadEnabled = buildRecordUploadEnabled();
 | 
				
			||||||
 | 
					          let recordRetentionDays: number | undefined;
 | 
				
			||||||
 | 
					          if (recordUploadEnabled) {
 | 
				
			||||||
 | 
					            recordRetentionDays = buildRecordRetentionDays();
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          const buildxHistory = new BuildxHistory();
 | 
					          const buildxHistory = new BuildxHistory();
 | 
				
			||||||
          const exportRes = await buildxHistory.export({
 | 
					          const exportRes = await buildxHistory.export({
 | 
				
			||||||
            refs: [stateHelper.buildRef]
 | 
					            refs: stateHelper.buildRef ? [stateHelper.buildRef] : []
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
          core.info(`Build record exported to ${exportRes.dockerbuildFilename} (${Util.formatFileSize(exportRes.dockerbuildSize)})`);
 | 
					          core.info(`Build record written to ${exportRes.dockerbuildFilename} (${Util.formatFileSize(exportRes.dockerbuildSize)})`);
 | 
				
			||||||
          const uploadRes = await GitHub.uploadArtifact({
 | 
					
 | 
				
			||||||
 | 
					          let uploadRes: UploadArtifactResponse | undefined;
 | 
				
			||||||
 | 
					          if (recordUploadEnabled) {
 | 
				
			||||||
 | 
					            uploadRes = await GitHub.uploadArtifact({
 | 
				
			||||||
              filename: exportRes.dockerbuildFilename,
 | 
					              filename: exportRes.dockerbuildFilename,
 | 
				
			||||||
              mimeType: 'application/gzip',
 | 
					              mimeType: 'application/gzip',
 | 
				
			||||||
            retentionDays: exportRetentionDays
 | 
					              retentionDays: recordRetentionDays
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          await GitHub.writeBuildSummary({
 | 
					          await GitHub.writeBuildSummary({
 | 
				
			||||||
            exportRes: exportRes,
 | 
					            exportRes: exportRes,
 | 
				
			||||||
            uploadRes: uploadRes,
 | 
					            uploadRes: uploadRes,
 | 
				
			||||||
@@ -199,11 +242,42 @@ async function buildRef(toolkit: Toolkit, since: Date, builder?: string): Promis
 | 
				
			|||||||
  return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
 | 
					  return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function buildExportRetentionDays(): number | undefined {
 | 
					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) {
 | 
					  if (process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS) {
 | 
				
			||||||
    const res = parseInt(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)) {
 | 
					    if (isNaN(res)) {
 | 
				
			||||||
      throw Error(`Invalid build export retention days: ${process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS}`);
 | 
					      throw Error(`Invalid build record retention days: ${val}`);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return res;
 | 
					    return res;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,11 @@
 | 
				
			|||||||
import * as core from '@actions/core';
 | 
					import * as core from '@actions/core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import {Inputs, sanitizeInputs} from './context';
 | 
					import {Inputs, sanitizeInputs} from './context';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const tmpDir = process.env['STATE_tmpDir'] || '';
 | 
					export const tmpDir = process.env['STATE_tmpDir'] || '';
 | 
				
			||||||
export const inputs = process.env['STATE_inputs'] ? JSON.parse(process.env['STATE_inputs']) : undefined;
 | 
					export const inputs = process.env['STATE_inputs'] ? JSON.parse(process.env['STATE_inputs']) : undefined;
 | 
				
			||||||
export const builder = process.env['STATE_builder'] ? <BuilderInfo>JSON.parse(process.env['STATE_builder']) : undefined;
 | 
					 | 
				
			||||||
export const buildRef = process.env['STATE_buildRef'] || '';
 | 
					export const buildRef = process.env['STATE_buildRef'] || '';
 | 
				
			||||||
 | 
					export const isSummarySupported = !!process.env['STATE_isSummarySupported'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function setTmpDir(tmpDir: string) {
 | 
					export function setTmpDir(tmpDir: string) {
 | 
				
			||||||
  core.saveState('tmpDir', tmpDir);
 | 
					  core.saveState('tmpDir', tmpDir);
 | 
				
			||||||
@@ -17,10 +15,10 @@ export function setInputs(inputs: Inputs) {
 | 
				
			|||||||
  core.saveState('inputs', JSON.stringify(sanitizeInputs(inputs)));
 | 
					  core.saveState('inputs', JSON.stringify(sanitizeInputs(inputs)));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function setBuilder(builder: BuilderInfo) {
 | 
					 | 
				
			||||||
  core.saveState('builder', JSON.stringify(builder));
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function setBuildRef(buildRef: string) {
 | 
					export function setBuildRef(buildRef: string) {
 | 
				
			||||||
  core.saveState('buildRef', buildRef);
 | 
					  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
 | 
				
			||||||
							
								
								
									
										33
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								yarn.lock
									
									
									
									
									
								
							@@ -12,9 +12,9 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/artifact@npm:^2.1.7":
 | 
					"@actions/artifact@npm:^2.1.9":
 | 
				
			||||||
  version: 2.1.7
 | 
					  version: 2.1.9
 | 
				
			||||||
  resolution: "@actions/artifact@npm:2.1.7"
 | 
					  resolution: "@actions/artifact@npm:2.1.9"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/core": ^1.10.0
 | 
					    "@actions/core": ^1.10.0
 | 
				
			||||||
    "@actions/github": ^5.1.1
 | 
					    "@actions/github": ^5.1.1
 | 
				
			||||||
@@ -30,7 +30,7 @@ __metadata:
 | 
				
			|||||||
    jwt-decode: ^3.1.2
 | 
					    jwt-decode: ^3.1.2
 | 
				
			||||||
    twirp-ts: ^2.5.0
 | 
					    twirp-ts: ^2.5.0
 | 
				
			||||||
    unzip-stream: ^0.3.1
 | 
					    unzip-stream: ^0.3.1
 | 
				
			||||||
  checksum: 346c7caf43bdeb4a96c044ca3a6a005d82b977178b1a6be2c6954dfd59fef3344d2576bdd07c6cac9b54207cc88d7b1161cabd08c7cc15a1db86bf82463b36c7
 | 
					  checksum: b01404aa6b4d47186e04a64c0002100ff68a8473eafb811a3d49275a7e1135d1981ccaf527b81c4856f6da764beabe7489fd296bb287906fd7c1964dfaeef3df
 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1055,11 +1055,11 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@docker/actions-toolkit@npm:0.28.0":
 | 
					"@docker/actions-toolkit@npm:0.37.1":
 | 
				
			||||||
  version: 0.28.0
 | 
					  version: 0.37.1
 | 
				
			||||||
  resolution: "@docker/actions-toolkit@npm:0.28.0"
 | 
					  resolution: "@docker/actions-toolkit@npm:0.37.1"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/artifact": ^2.1.7
 | 
					    "@actions/artifact": ^2.1.9
 | 
				
			||||||
    "@actions/cache": ^3.2.4
 | 
					    "@actions/cache": ^3.2.4
 | 
				
			||||||
    "@actions/core": ^1.10.1
 | 
					    "@actions/core": ^1.10.1
 | 
				
			||||||
    "@actions/exec": ^1.1.1
 | 
					    "@actions/exec": ^1.1.1
 | 
				
			||||||
@@ -1077,10 +1077,10 @@ __metadata:
 | 
				
			|||||||
    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.6.2
 | 
					    semver: ^7.6.3
 | 
				
			||||||
    tar-stream: ^3.1.7
 | 
					    tar-stream: ^3.1.7
 | 
				
			||||||
    tmp: ^0.2.3
 | 
					    tmp: ^0.2.3
 | 
				
			||||||
  checksum: 1ef7d9eb861a8f102391b9b230a6cfae808ec12f48a97b32e8afe78e241e8d4c1faece71ad8f7702c7b1cfffaf0bd7f816552b6bad0b6d8a41465142a61425a6
 | 
					  checksum: 7024fb86cc72e95df681ccdfdd44f3828f447e759138d5b70bff4f29cb4cb83fc487674adcff3c0c31cdf2e5fa5f1ee55bb6fbd01981fa053b8809e2639580a3
 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -3150,7 +3150,7 @@ __metadata:
 | 
				
			|||||||
  resolution: "docker-build-push@workspace:."
 | 
					  resolution: "docker-build-push@workspace:."
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/core": ^1.10.1
 | 
					    "@actions/core": ^1.10.1
 | 
				
			||||||
    "@docker/actions-toolkit": 0.28.0
 | 
					    "@docker/actions-toolkit": 0.37.1
 | 
				
			||||||
    "@types/node": ^20.12.12
 | 
					    "@types/node": ^20.12.12
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": ^7.9.0
 | 
					    "@typescript-eslint/eslint-plugin": ^7.9.0
 | 
				
			||||||
    "@typescript-eslint/parser": ^7.9.0
 | 
					    "@typescript-eslint/parser": ^7.9.0
 | 
				
			||||||
@@ -5894,7 +5894,7 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"semver@npm:^7.6.0, semver@npm:^7.6.2":
 | 
					"semver@npm:^7.6.0":
 | 
				
			||||||
  version: 7.6.2
 | 
					  version: 7.6.2
 | 
				
			||||||
  resolution: "semver@npm:7.6.2"
 | 
					  resolution: "semver@npm:7.6.2"
 | 
				
			||||||
  bin:
 | 
					  bin:
 | 
				
			||||||
@@ -5903,6 +5903,15 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  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":
 | 
					"shebang-command@npm:^2.0.0":
 | 
				
			||||||
  version: 2.0.0
 | 
					  version: 2.0.0
 | 
				
			||||||
  resolution: "shebang-command@npm:2.0.0"
 | 
					  resolution: "shebang-command@npm:2.0.0"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user