mirror of
https://github.com/docker/build-push-action.git
synced 2025-05-06 13:39:30 +02:00

This setup-only mode will setup a docker builder with the stickydisk mounted but will not run a Docker build. The use case here is to allow customers to then run their custom Tilt files or Docker commands against our builder. The other subtle change is that we only cleanup in the post step of this builder action. It is still to be seen if you can start several of these builders at the same time in a workflow but we can do that as a follow on.
131 lines
4.1 KiB
YAML
131 lines
4.1 KiB
YAML
# https://help.github.com/en/articles/metadata-syntax-for-github-actions
|
|
name: Build and push Docker images
|
|
description: Build and push Docker images with Buildx
|
|
author: docker
|
|
branding:
|
|
icon: 'anchor'
|
|
color: 'blue'
|
|
|
|
inputs:
|
|
nofallback:
|
|
description: "Fail the build if the remote builder is not available; defaults to false"
|
|
required: false
|
|
default: 'false'
|
|
setup-only:
|
|
description: "Only setup the Blacksmith builder without running a Docker build; defaults to false"
|
|
required: false
|
|
default: 'false'
|
|
add-hosts:
|
|
description: "List of a customs host-to-IP mapping (e.g., docker:10.180.0.1)"
|
|
required: false
|
|
allow:
|
|
description: "List of extra privileged entitlement (e.g., network.host,security.insecure)"
|
|
required: false
|
|
annotations:
|
|
description: "List of annotation to set to the image"
|
|
required: false
|
|
attests:
|
|
description: "List of attestation parameters (e.g., type=sbom,generator=image)"
|
|
required: false
|
|
build-args:
|
|
description: "List of build-time variables"
|
|
required: false
|
|
build-contexts:
|
|
description: "List of additional build contexts (e.g., name=path)"
|
|
required: false
|
|
builder:
|
|
description: "Builder instance"
|
|
required: false
|
|
cache-from:
|
|
description: "List of external cache sources for buildx (e.g., user/app:cache, type=local,src=path/to/dir)"
|
|
required: false
|
|
cache-to:
|
|
description: "List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir)"
|
|
required: false
|
|
cgroup-parent:
|
|
description: "Optional parent cgroup for the container used in the build"
|
|
required: false
|
|
context:
|
|
description: "Build's context is the set of files located in the specified PATH or URL"
|
|
required: false
|
|
file:
|
|
description: "Path to the Dockerfile"
|
|
required: false
|
|
labels:
|
|
description: "List of metadata for an image"
|
|
required: false
|
|
load:
|
|
description: "Load is a shorthand for --output=type=docker"
|
|
required: false
|
|
default: 'false'
|
|
network:
|
|
description: "Set the networking mode for the RUN instructions during build"
|
|
required: false
|
|
no-cache:
|
|
description: "Do not use cache when building the image"
|
|
required: false
|
|
default: 'false'
|
|
no-cache-filters:
|
|
description: "Do not cache specified stages"
|
|
required: false
|
|
outputs:
|
|
description: "List of output destinations (format: type=local,dest=path)"
|
|
required: false
|
|
platforms:
|
|
description: "List of target platforms for build"
|
|
required: false
|
|
provenance:
|
|
description: "Generate provenance attestation for the build (shorthand for --attest=type=provenance)"
|
|
required: false
|
|
pull:
|
|
description: "Always attempt to pull all referenced images"
|
|
required: false
|
|
default: 'false'
|
|
push:
|
|
description: "Push is a shorthand for --output=type=registry"
|
|
required: false
|
|
default: 'false'
|
|
sbom:
|
|
description: "Generate SBOM attestation for the build (shorthand for --attest=type=sbom)"
|
|
required: false
|
|
secrets:
|
|
description: "List of secrets to expose to the build (e.g., key=string, GIT_AUTH_TOKEN=mytoken)"
|
|
required: false
|
|
secret-envs:
|
|
description: "List of secret env vars to expose to the build (e.g., key=envname, MY_SECRET=MY_ENV_VAR)"
|
|
required: false
|
|
secret-files:
|
|
description: "List of secret files to expose to the build (e.g., key=filename, MY_SECRET=./secret.txt)"
|
|
required: false
|
|
shm-size:
|
|
description: "Size of /dev/shm (e.g., 2g)"
|
|
required: false
|
|
ssh:
|
|
description: "List of SSH agent socket or keys to expose to the build"
|
|
required: false
|
|
tags:
|
|
description: "List of tags"
|
|
required: false
|
|
target:
|
|
description: "Sets the target stage to build"
|
|
required: false
|
|
ulimit:
|
|
description: "Ulimit options (e.g., nofile=1024:1024)"
|
|
required: false
|
|
github-token:
|
|
description: "GitHub Token used to authenticate against a repository for Git context"
|
|
default: ${{ github.token }}
|
|
required: false
|
|
|
|
outputs:
|
|
imageid:
|
|
description: 'Image ID'
|
|
digest:
|
|
description: 'Image digest'
|
|
metadata:
|
|
description: 'Build result metadata'
|
|
|
|
runs:
|
|
using: 'node20'
|
|
main: 'dist/index.js'
|
|
post: 'dist/index.js'
|