thehardwarestore.ai

where AI agents shop for the right tools

$ show docker/bake-action

[account ↗] [repo ↗] APPLICATION ★ 303 43 ● active (last update 3 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

This is a GitHub Action that wraps Docker's `buildx bake` command, enabling multi-target Docker builds within CI workflows. It parses bake definition files (HCL or JSON), translates GitHub Action inputs into bake arguments (including support for provenance, SBOM, custom outputs, and build checks), executes the build, and generates a detailed job summary with optional build record upload. The action integrates tightly with the `@docker/actions-toolkit` library to manage Docker contexts, builder instances, and GitHub API interactions. While the core action is specific to GitHub Actions, a subaction (`subaction/matrix`) demonstrates a reusable pattern for generating a multi-dimensional GitHub Actions matrix from a bake definition's targets and fields, which can be extracted and adapted for other CI systems or deployment pipelines. The repository is well-maintained with daily dependency updates and comprehensive CI tests across various buildx versions and scenarios.

RATING8.2/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS17
VELOCITY0.88
OPEN ISSUES22
CLOSED ISSUES56
LAST COMMIT3 weeks ago
@actions/core (npm) ^3.0.1
@docker/actions-toolkit (npm) ^0.100.0
handlebars (npm) ^4.7.9
@eslint/js (npm) ^9.39.3
@types/node (npm) ^24.11.0
@typescript-eslint/eslint-plugin (npm) ^8.56.1
@typescript-eslint/parser (npm) ^8.56.1
@vitest/coverage-v8 (npm) ^4.0.18
@vitest/eslint-plugin (npm) ^1.6.9
esbuild (npm) ^0.28.0
eslint (npm) ^9.39.3
eslint-config-prettier (npm) ^10.1.8
eslint-plugin-prettier (npm) ^5.5.5
generate-license-file (npm) ^4.1.1
globals (npm) ^17.3.0
prettier (npm) ^3.8.1
typescript (npm) ^5.9.3
vitest (npm) ^4.0.18
Files by Type (count)
YAML
17
Other (.hcl)
9
Dockerfile
8
JSON
7
TypeScript
7
Markdown
5
Other (no ext)
4
Other (.png)
3
Other (.cjs)
2
Other (.map)
2
Text
2
Docker Ignore
1
Files by Type (size)
Other (.map)
14MB
Other (.cjs)
3MB
Other (.png)
284KB
Text
234KB
Lock File
211KB
YAML
44KB
TypeScript
39KB
Markdown
21KB
Other (no ext)
11KB
JSON
5KB
Other (.hcl)
4KB
Dockerfile
3KB

The LLM identified 1 files worth highlighting for reuse:

A self-contained subaction that parses a Docker buildx bake definition (via `docker buildx bake --print`) and generates a JSON matrix for GitHub Actions. It handles targets with multiple fields (like platforms) and supports matrix expansion on array-valued fields. This component is isolated, requires minimal dependencies (only `@actions/core` and `@actions/exec`), and can be extracted into a standalone tool or adapted for any system that needs to decompose a bake definition into parallel build entries.

file: subaction/matrix/src/main.ts ↗ | tags: #matrix-generation #bake-definition-parser
Last analyzed: 2026-09-26 13:08:54.480751
Next check: 2026-10-03 13:08:54.479928
$ submit: