Files
actions/docker-build
Ismo Vuorinen 0fa9a68f07 chore: update action references for release v2025.10.26
This commit updates all internal action references to point to the current
commit SHA in preparation for release v2025.10.26.
2025-10-26 23:56:09 +02:00
..

ivuorinen/actions/docker-build

Docker Build

Description

Builds a Docker image for multiple architectures with enhanced security and reliability.

Inputs

name description required default
image-name

The name of the Docker image to build. Defaults to the repository name.

false ""
tag

The tag for the Docker image. Must follow semver or valid Docker tag format.

true ""
architectures

Comma-separated list of architectures to build for.

false linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
dockerfile

Path to the Dockerfile

false Dockerfile
context

Docker build context

false .
build-args

Build arguments in format KEY=VALUE,KEY2=VALUE2

false ""
cache-from

External cache sources (e.g., type=registry,ref=user/app:cache)

false ""
push

Whether to push the image after building

false true
max-retries

Maximum number of retry attempts for build and push operations

false 3
token

GitHub token for authentication

false ""
buildx-version

Specific Docker Buildx version to use

false latest
buildkit-version

Specific BuildKit version to use

false v0.11.0
cache-mode

Cache mode for build layers (min, max, or inline)

false max
build-contexts

Additional build contexts in format name=path,name2=path2

false ""
network

Network mode for build (host, none, or default)

false default
secrets

Build secrets in format id=path,id2=path2

false ""
auto-detect-platforms

Automatically detect and build for all available platforms

false false
platform-build-args

Platform-specific build args in JSON format

false ""
parallel-builds

Number of parallel platform builds (0 for auto)

false 0
cache-export

Export cache destination (e.g., type=local,dest=/tmp/cache)

false ""
cache-import

Import cache sources (e.g., type=local,src=/tmp/cache)

false ""
dry-run

Perform a dry run without actually building

false false
verbose

Enable verbose logging with platform-specific output

false false
platform-fallback

Continue building other platforms if one fails

false true
scan-image

Scan built image for vulnerabilities

false false
sign-image

Sign the built image with cosign

false false
sbom-format

SBOM format (spdx-json, cyclonedx-json, or syft-json)

false spdx-json

Outputs

name description
image-digest

The digest of the built image

metadata

Build metadata in JSON format

platforms

Successfully built platforms

platform-matrix

Build status per platform in JSON format

build-time

Total build time in seconds

scan-results

Vulnerability scan results if scanning enabled

signature

Image signature if signing enabled

sbom-location

SBOM document location

Runs

This action is a composite action.

Usage

- uses: ivuorinen/actions/docker-build@main
  with:
    image-name:
    # The name of the Docker image to build. Defaults to the repository name.
    #
    # Required: false
    # Default: ""

    tag:
    # The tag for the Docker image. Must follow semver or valid Docker tag format.
    #
    # Required: true
    # Default: ""

    architectures:
    # Comma-separated list of architectures to build for.
    #
    # Required: false
    # Default: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6

    dockerfile:
    # Path to the Dockerfile
    #
    # Required: false
    # Default: Dockerfile

    context:
    # Docker build context
    #
    # Required: false
    # Default: .

    build-args:
    # Build arguments in format KEY=VALUE,KEY2=VALUE2
    #
    # Required: false
    # Default: ""

    cache-from:
    # External cache sources (e.g., type=registry,ref=user/app:cache)
    #
    # Required: false
    # Default: ""

    push:
    # Whether to push the image after building
    #
    # Required: false
    # Default: true

    max-retries:
    # Maximum number of retry attempts for build and push operations
    #
    # Required: false
    # Default: 3

    token:
    # GitHub token for authentication
    #
    # Required: false
    # Default: ""

    buildx-version:
    # Specific Docker Buildx version to use
    #
    # Required: false
    # Default: latest

    buildkit-version:
    # Specific BuildKit version to use
    #
    # Required: false
    # Default: v0.11.0

    cache-mode:
    # Cache mode for build layers (min, max, or inline)
    #
    # Required: false
    # Default: max

    build-contexts:
    # Additional build contexts in format name=path,name2=path2
    #
    # Required: false
    # Default: ""

    network:
    # Network mode for build (host, none, or default)
    #
    # Required: false
    # Default: default

    secrets:
    # Build secrets in format id=path,id2=path2
    #
    # Required: false
    # Default: ""

    auto-detect-platforms:
    # Automatically detect and build for all available platforms
    #
    # Required: false
    # Default: false

    platform-build-args:
    # Platform-specific build args in JSON format
    #
    # Required: false
    # Default: ""

    parallel-builds:
    # Number of parallel platform builds (0 for auto)
    #
    # Required: false
    # Default: 0

    cache-export:
    # Export cache destination (e.g., type=local,dest=/tmp/cache)
    #
    # Required: false
    # Default: ""

    cache-import:
    # Import cache sources (e.g., type=local,src=/tmp/cache)
    #
    # Required: false
    # Default: ""

    dry-run:
    # Perform a dry run without actually building
    #
    # Required: false
    # Default: false

    verbose:
    # Enable verbose logging with platform-specific output
    #
    # Required: false
    # Default: false

    platform-fallback:
    # Continue building other platforms if one fails
    #
    # Required: false
    # Default: true

    scan-image:
    # Scan built image for vulnerabilities
    #
    # Required: false
    # Default: false

    sign-image:
    # Sign the built image with cosign
    #
    # Required: false
    # Default: false

    sbom-format:
    # SBOM format (spdx-json, cyclonedx-json, or syft-json)
    #
    # Required: false
    # Default: spdx-json