- Switch all Dockerfiles from debian:bookworm-slim to svrnty/base-distro:flutter-sdk-latest (Wolfi)
- Use non-root user (UID 65532) instead of custom flutter user
- Strip wrong-platform engine artifacts per variant (web, android, linux)
- Remove dev/, examples/ and compact .git with git gc --prune=all
- Android: multi-stage build for JDK 17 + Android SDK 36 from Debian
- Linux: multi-stage build for clang/cmake/ninja/GTK3 with glibc conflict resolution
- Update Android SDK from 35 to 36 (required by Flutter 3.38.9)
Image sizes: web 1.32 GB, linux 2.43 GB, android 4.22 GB
(down from 4.9 GB, 3.69 GB, 4.15 GB respectively)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Creates a dedicated flutter user and switches to it as the default.
Resolves Docker Scout compliance check for non-root default user.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents the multi-stage approach: build Flutter from source in
Debian, package as APK with melange, compose minimal runtime image
from Wolfi packages with apko. Phased rollout starting with web
variant PoC.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
All platform images now publish to svrnty/flutter-sdk with variant
prefixed tags (web-3.38.9, android-latest, linux-dev, etc.) instead
of separate image names per platform.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Build and Push Flutter SDK Image / build-and-push (Flutter SDK for Android CI builds, Dockerfile.android, gpb-flutter-sdk-android) (release) Failing after 7s
Build and Push Flutter SDK Image / build-and-push (Flutter SDK for Linux desktop CI builds, Dockerfile.linux, gpb-flutter-sdk-linux) (release) Failing after 8s
Pre-release triggers now fetch the current Flutter stable version
from the releases API instead of using the release tag. This allows
testing the pipeline with any pre-release tag name.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds Dockerfile.android (Flutter + Android SDK/JDK 17) and
Dockerfile.linux (Flutter + clang/cmake/GTK3 for desktop builds).
Publish and Scout pipelines now use matrix strategy to build all
three variants in parallel. Registry secrets updated to
REGISTRY_USERNAME/REGISTRY_PASSWORD. Update-check adds explicit
stable channel filter.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Dockerfile based on debian:bookworm-slim with web-only Flutter SDK
- Release pipeline with Docker Scout CVE scan, SBOM, and provenance
- Scout PR pipeline with check-image gate
- Daily update-check pipeline that auto-creates releases for new
Flutter stable versions via Gitea API
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>