# 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:
  allow:
    description: "List of extra privileged entitlement (e.g., network.host,security.insecure)"
    required: false
  build-args:
    description: "List of build-time variables"
    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'
  outputs:
    description: "List of output destinations (format: type=local,dest=path)"
    required: false
  platforms:
    description: "List of target platforms for build"
    required: false
  pull:
    description: "Always attempt to pull a newer version of the image"
    required: false
    default: 'false'
  push:
    description: "Push is a shorthand for --output=type=registry"
    required: false
    default: 'false'
  secrets:
    description: "List of secrets to expose to the build (e.g., key=string, GIT_AUTH_TOKEN=mytoken)"
    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:
  digest:
    description: 'Image content-addressable identifier also called a digest'
  metadata:
    description: 'Build result metadata'

runs:
  using: 'node12'
  main: 'dist/index.js'
  post: 'dist/index.js'