Skip to content

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

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 #103

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
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