Skip to content

Improve build workflow with latest actions, enhanced caching, reliability features, security attestations, and PR support #91

Improve build workflow with latest actions, enhanced caching, reliability features, security attestations, and PR support

Improve build workflow with latest actions, enhanced caching, reliability features, security attestations, and PR support #91

Workflow file for this run

name: images
on:
push:
branches:
- main
pull_request:
types: [labeled, synchronize, opened]
workflow_dispatch:
inputs:
force_rebuild:
description: 'Force rebuild all images'
required: false
default: false
type: boolean
jobs:
publish:
name: Publish
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'push'))
permissions:
packages: write
contents: read
attestations: write
id-token: write
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
-
uses: actions/setup-go@v5
with:
go-version: 1.22
-
uses: imjasonh/[email protected]
-
run: |
set -x
TAG_KKV=7fa31f42731fc20a77988b478a3896732cc3dc88
TAG_HOOK=92363d7d1771abc780e7559c778215be61f934d4
TAG_KAFKA=2.5.1-kafka-server-start
TAG_ZOOKEEPER=2.5.1-zookeeper-server-start
TAG_INITUTILS=initutils-nonroot@sha256:8988aca5b34feabe8d7d4e368f74b2ede398f692c7e99a38b262a938d475812c
TAG_ENVOY=v1.34.1
TAG_CURL=8.14.1
TAG_BUSYBOX=1.36.1-glibc
TAG_TINYGO=0.32.0
TAG_KAFKACAT=1.7.0@sha256:8658c1fa53632764bfcc3f9fad3dbf8b1d1a74f05244cd3a0ce9825e3344dc98
crane cp docker.io/yolean/kafka-keyvalue:$TAG_KKV ghcr.io/yolean/kafka-keyvalue:$TAG_KKV
crane digest docker.io/yolean/kafka-hook:$TAG_HOOK
crane cp docker.io/yolean/kafka-hook:$TAG_HOOK ghcr.io/yolean/kafka-hook:$TAG_HOOK
crane cp solsson/kafka:$TAG_KAFKA ghcr.io/yolean/kafka:$TAG_KAFKA
crane cp solsson/kafka:$TAG_ZOOKEEPER ghcr.io/yolean/kafka:$TAG_ZOOKEEPER
crane cp solsson/kafka:$TAG_INITUTILS ghcr.io/yolean/kafka:$TAG_INITUTILS
crane cp solsson/minio-deduplication@sha256:af91c49ce795eb8406c6303d41fd874e231459bd8a5897a35bb12e1cc8f762a6 ghcr.io/yolean/minio-deduplication
crane cp envoyproxy/envoy:v1.17.0 ghcr.io/yolean/envoy:v1.17.0
crane cp envoyproxy/envoy:$TAG_ENVOY ghcr.io/yolean/envoy:$TAG_ENVOY
crane cp envoyproxy/envoy-distroless:$TAG_ENVOY ghcr.io/yolean/envoy-distroless:$TAG_ENVOY
crane cp curlimages/curl:$TAG_CURL ghcr.io/yolean/curl:$TAG_CURL
crane cp busybox:$TAG_BUSYBOX ghcr.io/yolean/busybox:$TAG_BUSYBOX
crane cp mailgun/kafka-pixy:0.17.0@sha256:0b5f4795c0b0d80729fa7415ec70ae4d411e152c6149656dddf01b18184792e0 ghcr.io/yolean/kafka-pixy:0.17.0
crane cp tinygo/tinygo:$TAG_TINYGO ghcr.io/yolean/tinygo:$TAG_TINYGO
crane cp liftm/kafkacat:$TAG_KAFKACAT ghcr.io/yolean/kafkacat:$TAG_KAFKACAT
-
name: Set up QEMU
uses: docker/[email protected]
-
name: Set up Docker Buildx
uses: docker/[email protected]
### build steps below are generated ###
-
name: Build and push docker-base latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: docker-base
tags: |
ghcr.io/yolean/docker-base:latest
ghcr.io/yolean/docker-base:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-docker-base-latest
type=gha,scope=buildx-docker-base
cache-to: type=gha,mode=max,scope=buildx-docker-base-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-base latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-base
tags: |
ghcr.io/yolean/builder-base:latest
ghcr.io/yolean/builder-base:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-base-latest
type=gha,scope=buildx-builder-base
cache-to: type=gha,mode=max,scope=buildx-builder-base-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-base-gcc latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-base-gcc
tags: |
ghcr.io/yolean/builder-base-gcc:latest
ghcr.io/yolean/builder-base-gcc:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-base-gcc-latest
type=gha,scope=buildx-builder-base-gcc
cache-to: type=gha,mode=max,scope=buildx-builder-base-gcc-latest
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-base-gcloud latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-base-gcloud
tags: |
ghcr.io/yolean/builder-base-gcloud:latest
ghcr.io/yolean/builder-base-gcloud:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-base-gcloud-latest
type=gha,scope=buildx-builder-base-gcloud
cache-to: type=gha,mode=max,scope=buildx-builder-base-gcloud-latest
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-tooling latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-tooling
tags: |
ghcr.io/yolean/builder-tooling:latest
ghcr.io/yolean/builder-tooling:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-tooling-latest
type=gha,scope=buildx-builder-tooling
cache-to: type=gha,mode=max,scope=buildx-builder-tooling-latest
build-contexts: |
yolean/builder-base-gcc=docker-image://ghcr.io/yolean/builder-base-gcc
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-node latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-node
tags: |
ghcr.io/yolean/builder-node:latest
ghcr.io/yolean/builder-node:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-node-latest
type=gha,scope=buildx-builder-node
cache-to: type=gha,mode=max,scope=buildx-builder-node-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-quarkus latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-quarkus
tags: |
ghcr.io/yolean/builder-quarkus:latest
ghcr.io/yolean/builder-quarkus:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-quarkus-latest
type=gha,scope=buildx-builder-quarkus
cache-to: type=gha,mode=max,scope=buildx-builder-quarkus-latest
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
yolean/builder-base-gcc=docker-image://ghcr.io/yolean/builder-base-gcc
continue-on-error: false
timeout-minutes: 45
-
name: Build and push builder-evidence latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: builder-evidence
tags: |
ghcr.io/yolean/builder-evidence:latest
ghcr.io/yolean/builder-evidence:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-builder-evidence-latest
type=gha,scope=buildx-builder-evidence
cache-to: type=gha,mode=max,scope=buildx-builder-evidence-latest
build-contexts: |
yolean/builder-base-gcc=docker-image://ghcr.io/yolean/builder-base-gcc
yolean/builder-base-gcloud=docker-image://ghcr.io/yolean/builder-base-gcloud
continue-on-error: false
timeout-minutes: 45
-
name: Build and push git-init latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: git-init
tags: |
ghcr.io/yolean/git-init:latest
ghcr.io/yolean/git-init:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-git-init-latest
type=gha,scope=buildx-git-init
cache-to: type=gha,mode=max,scope=buildx-git-init-latest
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push toil latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: toil
tags: |
ghcr.io/yolean/toil:latest
ghcr.io/yolean/toil:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-toil-latest
type=gha,scope=buildx-toil
cache-to: type=gha,mode=max,scope=buildx-toil-latest
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push toil-network latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: toil-network
tags: |
ghcr.io/yolean/toil-network:latest
ghcr.io/yolean/toil-network:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-toil-network-latest
type=gha,scope=buildx-toil-network
cache-to: type=gha,mode=max,scope=buildx-toil-network-latest
build-contexts: |
yolean/toil=docker-image://ghcr.io/yolean/toil
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-distroless latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-distroless
tags: |
ghcr.io/yolean/node-distroless:latest
ghcr.io/yolean/node-distroless:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-distroless-latest
type=gha,scope=buildx-node-distroless
cache-to: type=gha,mode=max,scope=buildx-node-distroless-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push headless-chrome latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: headless-chrome
tags: |
ghcr.io/yolean/headless-chrome:latest
ghcr.io/yolean/headless-chrome:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-headless-chrome-latest
type=gha,scope=buildx-headless-chrome
cache-to: type=gha,mode=max,scope=buildx-headless-chrome-latest
build-contexts: |
yolean/docker-base=docker-image://ghcr.io/yolean/docker-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push git-http-readonly latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: git-http-readonly
tags: |
ghcr.io/yolean/git-http-readonly:latest
ghcr.io/yolean/git-http-readonly:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-git-http-readonly-latest
type=gha,scope=buildx-git-http-readonly
cache-to: type=gha,mode=max,scope=buildx-git-http-readonly-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: runtime-quarkus
tags: |
ghcr.io/yolean/runtime-quarkus:latest
ghcr.io/yolean/runtime-quarkus:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-latest
type=gha,scope=buildx-runtime-quarkus
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-deno latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: runtime-deno
tags: |
ghcr.io/yolean/runtime-deno:latest
ghcr.io/yolean/runtime-deno:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-deno-latest
type=gha,scope=buildx-runtime-deno
cache-to: type=gha,mode=max,scope=buildx-runtime-deno-latest
continue-on-error: false
timeout-minutes: 45
-
name: Build and push homedir root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: homedir
tags: |
ghcr.io/yolean/homedir:root
ghcr.io/yolean/homedir:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-homedir-root
type=gha,scope=buildx-homedir
cache-to: type=gha,mode=max,scope=buildx-homedir-root
build-contexts: |
yolean/docker-base=docker-image://ghcr.io/yolean/docker-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push homedir latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/homedir
tags: |
ghcr.io/yolean/homedir:latest
ghcr.io/yolean/homedir:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-homedir-latest
type=gha,scope=buildx-homedir
cache-to: type=gha,mode=max,scope=buildx-homedir-latest
build-contexts: |
yolean/homedir=docker-image://ghcr.io/yolean/homedir:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push java root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: java
tags: |
ghcr.io/yolean/java:root
ghcr.io/yolean/java:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-java-root
type=gha,scope=buildx-java
cache-to: type=gha,mode=max,scope=buildx-java-root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push java latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/java
tags: |
ghcr.io/yolean/java:latest
ghcr.io/yolean/java:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-java-latest
type=gha,scope=buildx-java
cache-to: type=gha,mode=max,scope=buildx-java-latest
build-contexts: |
yolean/java=docker-image://ghcr.io/yolean/java:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node
tags: |
ghcr.io/yolean/node:root
ghcr.io/yolean/node:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-root
type=gha,scope=buildx-node
cache-to: type=gha,mode=max,scope=buildx-node-root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node
tags: |
ghcr.io/yolean/node:latest
ghcr.io/yolean/node:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-latest
type=gha,scope=buildx-node
cache-to: type=gha,mode=max,scope=buildx-node-latest
build-contexts: |
yolean/node=docker-image://ghcr.io/yolean/node:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-kafka
tags: |
ghcr.io/yolean/node-kafka:root
ghcr.io/yolean/node-kafka:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-root
type=gha,scope=buildx-node-kafka
cache-to: type=gha,mode=max,scope=buildx-node-kafka-root
build-contexts: |
yolean/node=docker-image://ghcr.io/yolean/node:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-kafka
tags: |
ghcr.io/yolean/node-kafka:latest
ghcr.io/yolean/node-kafka:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-latest
type=gha,scope=buildx-node-kafka
cache-to: type=gha,mode=max,scope=buildx-node-kafka-latest
build-contexts: |
yolean/node-kafka=docker-image://ghcr.io/yolean/node-kafka:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka-cache root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-kafka-cache
tags: |
ghcr.io/yolean/node-kafka-cache:root
ghcr.io/yolean/node-kafka-cache:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-cache-root
type=gha,scope=buildx-node-kafka-cache
cache-to: type=gha,mode=max,scope=buildx-node-kafka-cache-root
build-contexts: |
yolean/node-kafka=docker-image://ghcr.io/yolean/node-kafka:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka-cache latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-kafka-cache
tags: |
ghcr.io/yolean/node-kafka-cache:latest
ghcr.io/yolean/node-kafka-cache:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-cache-latest
type=gha,scope=buildx-node-kafka-cache
cache-to: type=gha,mode=max,scope=buildx-node-kafka-cache-latest
build-contexts: |
yolean/node-kafka-cache=docker-image://ghcr.io/yolean/node-kafka-cache:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka-sqlite root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-kafka-sqlite
tags: |
ghcr.io/yolean/node-kafka-sqlite:root
ghcr.io/yolean/node-kafka-sqlite:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-sqlite-root
type=gha,scope=buildx-node-kafka-sqlite
cache-to: type=gha,mode=max,scope=buildx-node-kafka-sqlite-root
build-contexts: |
yolean/node-kafka=docker-image://ghcr.io/yolean/node-kafka:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka-sqlite latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-kafka-sqlite
tags: |
ghcr.io/yolean/node-kafka-sqlite:latest
ghcr.io/yolean/node-kafka-sqlite:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-sqlite-latest
type=gha,scope=buildx-node-kafka-sqlite
cache-to: type=gha,mode=max,scope=buildx-node-kafka-sqlite-latest
build-contexts: |
yolean/node-kafka-sqlite=docker-image://ghcr.io/yolean/node-kafka-sqlite:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-watchexec root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-watchexec
tags: |
ghcr.io/yolean/node-watchexec:root
ghcr.io/yolean/node-watchexec:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-watchexec-root
type=gha,scope=buildx-node-watchexec
cache-to: type=gha,mode=max,scope=buildx-node-watchexec-root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-watchexec latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-watchexec
tags: |
ghcr.io/yolean/node-watchexec:latest
ghcr.io/yolean/node-watchexec:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-watchexec-latest
type=gha,scope=buildx-node-watchexec
cache-to: type=gha,mode=max,scope=buildx-node-watchexec-latest
build-contexts: |
yolean/node-watchexec=docker-image://ghcr.io/yolean/node-watchexec:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka-watch root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-kafka-watch
tags: |
ghcr.io/yolean/node-kafka-watch:root
ghcr.io/yolean/node-kafka-watch:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-watch-root
type=gha,scope=buildx-node-kafka-watch
cache-to: type=gha,mode=max,scope=buildx-node-kafka-watch-root
build-contexts: |
yolean/node-watchexec=docker-image://ghcr.io/yolean/node-watchexec:root
yolean/node-kafka=docker-image://ghcr.io/yolean/node-kafka:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-kafka-watch latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-kafka-watch
tags: |
ghcr.io/yolean/node-kafka-watch:latest
ghcr.io/yolean/node-kafka-watch:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-kafka-watch-latest
type=gha,scope=buildx-node-kafka-watch
cache-to: type=gha,mode=max,scope=buildx-node-kafka-watch-latest
build-contexts: |
yolean/node-kafka-watch=docker-image://ghcr.io/yolean/node-kafka-watch:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-gcloud root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-gcloud
tags: |
ghcr.io/yolean/node-gcloud:root
ghcr.io/yolean/node-gcloud:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-gcloud-root
type=gha,scope=buildx-node-gcloud
cache-to: type=gha,mode=max,scope=buildx-node-gcloud-root
build-contexts: |
yolean/node=docker-image://ghcr.io/yolean/node:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-gcloud latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-gcloud
tags: |
ghcr.io/yolean/node-gcloud:latest
ghcr.io/yolean/node-gcloud:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-gcloud-latest
type=gha,scope=buildx-node-gcloud
cache-to: type=gha,mode=max,scope=buildx-node-gcloud-latest
build-contexts: |
yolean/node-gcloud=docker-image://ghcr.io/yolean/node-gcloud:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-vitest root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: node-vitest
tags: |
ghcr.io/yolean/node-vitest:root
ghcr.io/yolean/node-vitest:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-vitest-root
type=gha,scope=buildx-node-vitest
cache-to: type=gha,mode=max,scope=buildx-node-vitest-root
build-contexts: |
yolean/node=docker-image://ghcr.io/yolean/node:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push node-vitest latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/node-vitest
tags: |
ghcr.io/yolean/node-vitest:latest
ghcr.io/yolean/node-vitest:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-node-vitest-latest
type=gha,scope=buildx-node-vitest
cache-to: type=gha,mode=max,scope=buildx-node-vitest-latest
build-contexts: |
yolean/node-vitest=docker-image://ghcr.io/yolean/node-vitest:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-ubuntu root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: runtime-quarkus-ubuntu
tags: |
ghcr.io/yolean/runtime-quarkus-ubuntu:root
ghcr.io/yolean/runtime-quarkus-ubuntu:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-ubuntu-root
type=gha,scope=buildx-runtime-quarkus-ubuntu
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-ubuntu-root
build-contexts: |
yolean/docker-base=docker-image://ghcr.io/yolean/docker-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-ubuntu latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/runtime-quarkus-ubuntu
tags: |
ghcr.io/yolean/runtime-quarkus-ubuntu:latest
ghcr.io/yolean/runtime-quarkus-ubuntu:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-ubuntu-latest
type=gha,scope=buildx-runtime-quarkus-ubuntu
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-ubuntu-latest
build-contexts: |
yolean/runtime-quarkus-ubuntu=docker-image://ghcr.io/yolean/runtime-quarkus-ubuntu:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-deno root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: runtime-quarkus-deno
tags: |
ghcr.io/yolean/runtime-quarkus-deno:root
ghcr.io/yolean/runtime-quarkus-deno:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-deno-root
type=gha,scope=buildx-runtime-quarkus-deno
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-deno-root
build-contexts: |
yolean/runtime-deno=docker-image://ghcr.io/yolean/runtime-deno
yolean/runtime-quarkus-ubuntu=docker-image://ghcr.io/yolean/runtime-quarkus-ubuntu
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-deno latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/runtime-quarkus-deno
tags: |
ghcr.io/yolean/runtime-quarkus-deno:latest
ghcr.io/yolean/runtime-quarkus-deno:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-deno-latest
type=gha,scope=buildx-runtime-quarkus-deno
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-deno-latest
build-contexts: |
yolean/runtime-quarkus-deno=docker-image://ghcr.io/yolean/runtime-quarkus-deno:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-ubuntu-jre root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: runtime-quarkus-ubuntu-jre
tags: |
ghcr.io/yolean/runtime-quarkus-ubuntu-jre:root
ghcr.io/yolean/runtime-quarkus-ubuntu-jre:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-ubuntu-jre-root
type=gha,scope=buildx-runtime-quarkus-ubuntu-jre
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-ubuntu-jre-root
build-contexts: |
yolean/java=docker-image://ghcr.io/yolean/java:root
yolean/runtime-quarkus-ubuntu=docker-image://ghcr.io/yolean/runtime-quarkus-ubuntu:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-ubuntu-jre latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/runtime-quarkus-ubuntu-jre
tags: |
ghcr.io/yolean/runtime-quarkus-ubuntu-jre:latest
ghcr.io/yolean/runtime-quarkus-ubuntu-jre:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-ubuntu-jre-latest
type=gha,scope=buildx-runtime-quarkus-ubuntu-jre
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-ubuntu-jre-latest
build-contexts: |
yolean/runtime-quarkus-ubuntu-jre=docker-image://ghcr.io/yolean/runtime-quarkus-ubuntu-jre:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-dev root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: runtime-quarkus-dev
tags: |
ghcr.io/yolean/runtime-quarkus-dev:root
ghcr.io/yolean/runtime-quarkus-dev:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-dev-root
type=gha,scope=buildx-runtime-quarkus-dev
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-dev-root
build-contexts: |
yolean/builder-quarkus=docker-image://ghcr.io/yolean/builder-quarkus
yolean/runtime-quarkus-ubuntu=docker-image://ghcr.io/yolean/runtime-quarkus-ubuntu:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push runtime-quarkus-dev latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/runtime-quarkus-dev
tags: |
ghcr.io/yolean/runtime-quarkus-dev:latest
ghcr.io/yolean/runtime-quarkus-dev:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-runtime-quarkus-dev-latest
type=gha,scope=buildx-runtime-quarkus-dev
cache-to: type=gha,mode=max,scope=buildx-runtime-quarkus-dev-latest
build-contexts: |
yolean/runtime-quarkus-dev=docker-image://ghcr.io/yolean/runtime-quarkus-dev:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push toil-storage root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: toil-storage
tags: |
ghcr.io/yolean/toil-storage:root
ghcr.io/yolean/toil-storage:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-toil-storage-root
type=gha,scope=buildx-toil-storage
cache-to: type=gha,mode=max,scope=buildx-toil-storage-root
build-contexts: |
yolean/toil=docker-image://ghcr.io/yolean/toil
yolean/docker-base=docker-image://ghcr.io/yolean/docker-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push toil-storage latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/toil-storage
tags: |
ghcr.io/yolean/toil-storage:latest
ghcr.io/yolean/toil-storage:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-toil-storage-latest
type=gha,scope=buildx-toil-storage
cache-to: type=gha,mode=max,scope=buildx-toil-storage-latest
build-contexts: |
yolean/toil-storage=docker-image://ghcr.io/yolean/toil-storage:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push curl-yq root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: curl-yq
tags: |
ghcr.io/yolean/curl-yq:root
ghcr.io/yolean/curl-yq:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-curl-yq-root
type=gha,scope=buildx-curl-yq
cache-to: type=gha,mode=max,scope=buildx-curl-yq-root
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
continue-on-error: false
timeout-minutes: 45
-
name: Build and push curl-yq latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/curl-yq
tags: |
ghcr.io/yolean/curl-yq:latest
ghcr.io/yolean/curl-yq:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-curl-yq-latest
type=gha,scope=buildx-curl-yq
cache-to: type=gha,mode=max,scope=buildx-curl-yq-latest
build-contexts: |
yolean/curl-yq=docker-image://ghcr.io/yolean/curl-yq:root
continue-on-error: false
timeout-minutes: 45
-
name: Build and push duckdb root
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: duckdb
tags: |
ghcr.io/yolean/duckdb:root
ghcr.io/yolean/duckdb:${{ github.sha }}-root
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-duckdb-root
type=gha,scope=buildx-duckdb
cache-to: type=gha,mode=max,scope=buildx-duckdb-root
build-contexts: |
yolean/builder-base=docker-image://ghcr.io/yolean/builder-base
yolean/homedir=docker-image://ghcr.io/yolean/homedir
continue-on-error: false
timeout-minutes: 45
-
name: Build and push duckdb latest
uses: docker/[email protected]
env:
SOURCE_DATE_EPOCH: 0
BUILDKIT_PROGRESS: plain
DOCKER_BUILDKIT: 1
with:
context: to-nonroot/duckdb
tags: |
ghcr.io/yolean/duckdb:latest
ghcr.io/yolean/duckdb:${{ github.sha }}
platforms: linux/amd64,linux/arm64/v8
push: true
cache-from: |
type=gha,scope=buildx-duckdb-latest
type=gha,scope=buildx-duckdb
cache-to: type=gha,mode=max,scope=buildx-duckdb-latest
build-contexts: |
yolean/duckdb=docker-image://ghcr.io/yolean/duckdb:root
continue-on-error: false
timeout-minutes: 45