From f91e333b3ec4ecf7529929870682164429cbc077 Mon Sep 17 00:00:00 2001 From: Romain Gautier Date: Fri, 3 Jul 2026 11:43:21 +0200 Subject: [PATCH] improve dagger check for ci --- .tangled/workflows/check.yml | 19 +++++-------------- application/.dagger/main.dang | 9 ++++++++- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/.tangled/workflows/check.yml b/.tangled/workflows/check.yml index 8e3e5ec..19281b4 100644 --- a/.tangled/workflows/check.yml +++ b/.tangled/workflows/check.yml @@ -21,12 +21,11 @@ steps: - name: "Initialize devenv" command: devenv shell true - - name: "Prime Dagger base image cache" + - name: "Publish Dagger base image cache" command: | devenv shell -- bash -c ' set -euo pipefail export DAGGER_NO_NAG=1 - export DOCKER_BUILDKIT=1 BASE_HASH="$(sha256sum \ application/Dockerfile \ application/frankenphp/conf.d/10-app.ini \ @@ -34,24 +33,16 @@ steps: application/frankenphp/Caddyfile \ | sha256sum | cut -c1-16)" BASE_REF="${DAGGER_PHP_BASE_REF:-ttl.sh/rssbase-application-dagger-frankenphp-base-${BASE_HASH}:24h}" - BASE_CACHE_REF="${DAGGER_PHP_BASE_CACHE_REF:-ttl.sh/rssbase-application-dagger-frankenphp-base-build-cache:24h}" if docker buildx imagetools inspect "${BASE_REF}" >/dev/null 2>&1; then echo "Using cached Dagger base image: ${BASE_REF}" else - echo "Building and publishing Dagger base image: ${BASE_REF}" - docker buildx create --use --name rssbase-ci-builder >/dev/null 2>&1 || docker buildx use rssbase-ci-builder - docker buildx inspect --bootstrap - docker buildx build application \ - --target frankenphp_base \ - --tag "${BASE_REF}" \ - --cache-from "type=registry,ref=${BASE_CACHE_REF}" \ - --cache-to "type=registry,ref=${BASE_CACHE_REF},mode=max" \ - --push + echo "Publishing Dagger-built base image: ${BASE_REF}" + dagger call application build-base publish --address "${BASE_REF}" fi - dagger settings --env ci application phpBaseImageRef "${BASE_REF}" + dagger settings application phpBaseImageRef "${BASE_REF}" ' - name: "Run checks" - command: DAGGER_NO_NAG=1 devenv shell dagger --env ci check + command: DAGGER_NO_NAG=1 devenv shell dagger check diff --git a/application/.dagger/main.dang b/application/.dagger/main.dang index 9679cfb..fcf7b10 100644 --- a/application/.dagger/main.dang +++ b/application/.dagger/main.dang @@ -26,7 +26,7 @@ type Application { let base = if (phpBaseImageRef != "") { container.from(phpBaseImageRef) } else { - source.dockerBuild(target: "frankenphp_base") + buildBase } base @@ -36,6 +36,13 @@ type Application { .withEnvVariable("COMPOSER_CACHE_DIR", "/tmp/composer-cache") } + """ + Build the reusable FrankenPHP base image from application/Dockerfile. + """ + pub buildBase: Container! { + source.dockerBuild(target: "frankenphp_base") + } + """ Build the production FrankenPHP image from application/Dockerfile. """ -- 2.51.2