Compare commits
	
		
			41 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 1ca370b3a9 | ||
|   | 2c95ebed5c | ||
|   | d189d0ef33 | ||
|   | a254f8ca60 | ||
|   | 94dae62c78 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 267a69d6cc | ||
|   | f23fb2a7cb | ||
|   | ef76d100ee | ||
|   | 522345f555 | ||
|   | 1a162644f9 | ||
|   | 9eea548195 | ||
|   | 11c2faaa9e | ||
|   | de2365af33 | ||
|   | bca5082da7 | ||
|   | e7aab408d9 | ||
|   | 63eb7590c6 | ||
|   | 53ec48606f | ||
|   | fe9d9f1d0c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ad37ba1ad0 | ||
|   | aabbd3f4d7 | ||
|   | 9c7c277413 | ||
|   | 987902144c | ||
|   | 709dde20a7 | ||
|   | ec2d640ea6 | ||
|   | 3dc0757c66 | ||
|   | dcb0699155 | ||
|   | a3c06e8698 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e75138d857 | ||
|   | 9552610e81 | ||
|   | 99c83871c1 | ||
|   | af64c4e18f | ||
|   | 6fdff4fb09 | ||
|   | 9e59c61762 | ||
|   | 49351df2b7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 723ff6ffad | ||
|   | 15560696de | ||
|   | 57e1d34ac3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 309982ebc9 | ||
|   | 9476c25b2a | ||
|   | 97be5a4928 | ||
|   | 9cac6c8ea0 | 
							
								
								
									
										
											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 | 
							
								
								
									
										98
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										98
									
								
								.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: | ||||||
|       - |       - | ||||||
| @@ -1367,3 +1390,76 @@ jobs: | |||||||
|           file: ./test/Dockerfile |           file: ./test/Dockerfile | ||||||
|         env: |         env: | ||||||
|           DOCKER_BUILD_NO_SUMMARY: true |           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 }} | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								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,9 +256,11 @@ 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_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 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								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.27.0", |     "@docker/actions-toolkit": "0.33.0", | ||||||
|     "handlebars": "^4.7.7" |     "handlebars": "^4.7.7" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|   | |||||||
							
								
								
									
										100
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								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); | ||||||
| @@ -105,7 +107,6 @@ 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(); | ||||||
|  |  | ||||||
|     if (imageID) { |     if (imageID) { | ||||||
|       await core.group(`ImageID`, async () => { |       await core.group(`ImageID`, async () => { | ||||||
|         core.info(imageID); |         core.info(imageID); | ||||||
| @@ -125,42 +126,65 @@ actionsToolkit.run( | |||||||
|         core.setOutput('metadata', metadatadt); |         core.setOutput('metadata', metadatadt); | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     let ref: string; | ||||||
|     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'); | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  |     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 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)})`); |  | ||||||
|           const uploadRes = await GitHub.uploadArtifact({ |  | ||||||
|             filename: exportRes.dockerbuildFilename, |  | ||||||
|             mimeType: 'application/gzip', |  | ||||||
|             retentionDays: 90 |  | ||||||
|           }); |           }); | ||||||
|  |           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({ |           await GitHub.writeBuildSummary({ | ||||||
|             exportRes: exportRes, |             exportRes: exportRes, | ||||||
|             uploadRes: uploadRes, |             uploadRes: uploadRes, | ||||||
| @@ -197,3 +221,37 @@ 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 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,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'); | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								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.8": | ||||||
|   version: 2.1.7 |   version: 2.1.8 | ||||||
|   resolution: "@actions/artifact@npm:2.1.7" |   resolution: "@actions/artifact@npm:2.1.8" | ||||||
|   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: 51a47c21bcdac705abb61dbaef923f2760354c39bcad44a31b129e18bf31f646e5148f92ee7e1198275d1dba7bebfd1d1500ad7f62f6de1e65b57b2d092d5341 | ||||||
|   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.27.0": | "@docker/actions-toolkit@npm:0.33.0": | ||||||
|   version: 0.27.0 |   version: 0.33.0 | ||||||
|   resolution: "@docker/actions-toolkit@npm:0.27.0" |   resolution: "@docker/actions-toolkit@npm:0.33.0" | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@actions/artifact": ^2.1.7 |     "@actions/artifact": ^2.1.8 | ||||||
|     "@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 | ||||||
| @@ -1080,7 +1080,7 @@ __metadata: | |||||||
|     semver: ^7.6.2 |     semver: ^7.6.2 | ||||||
|     tar-stream: ^3.1.7 |     tar-stream: ^3.1.7 | ||||||
|     tmp: ^0.2.3 |     tmp: ^0.2.3 | ||||||
|   checksum: 8014c5f04006b19d635dbc9e28df493afa5839f782ee00849a0d2aa86a95201a95e4602dd96311c00bd00bec92a9719df2a18148296438a79785a4af8840af69 |   checksum: 510273d28bcf0c8a6acd4ffffa0b52cf98f46018f7f3f0772026b8fdb9422cf1dc851558140a0e95e8af3c584eb087ecb2dc48bdab0bc4f8dd9994959b052a22 | ||||||
|   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.27.0 |     "@docker/actions-toolkit": 0.33.0 | ||||||
|     "@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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user