Improve build workflow with latest actions, enhanced caching, reliability features, security attestations, and PR support #103
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
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:root=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:root=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:root=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:root=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:root=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:root=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:root=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:root=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:root=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:root=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:root=docker-image://ghcr.io/yolean/node-watchexec:root | |
yolean/node-kafka:root=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:root=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:root=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:root=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:root=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:root=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:root=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:root=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:root=docker-image://ghcr.io/yolean/java:root | |
yolean/runtime-quarkus-ubuntu:root=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:root=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:root=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:root=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:root=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:root=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:root=docker-image://ghcr.io/yolean/duckdb:root | |
continue-on-error: false | |
timeout-minutes: 45 |