Add Flutter SDK Android and Linux base images with native Wolfi packages
All checks were successful
Build and Push Base Distro Images / build-and-push (apko/build.yaml, build) (push) Successful in 10m2s
Build and Push Base Distro Images / build-and-push (apko/base.yaml, base) (push) Successful in 10m4s
Build and Push Base Distro Images / build-and-push (apko/dotnet-sdk.yaml, dotnet-sdk) (push) Successful in 10m4s
Build and Push Base Distro Images / build-and-push (apko/dotnet-runtime.yaml, dotnet-runtime) (push) Successful in 10m10s
Build and Push Base Distro Images / build-and-push (apko/flutter-sdk-android.yaml, flutter-sdk-android) (push) Successful in 11m52s
Build and Push Base Distro Images / build-and-push (apko/flutter-sdk-linux.yaml, flutter-sdk-linux) (push) Successful in 16m54s
Build and Push Base Distro Images / build-and-push (apko/flutter-sdk.yaml, flutter-sdk) (push) Successful in 10m19s
Weekly Rebuild (CVE Updates) / rebuild (apko/base.yaml, base) (push) Successful in 9m58s
Weekly Rebuild (CVE Updates) / rebuild (apko/build.yaml, build) (push) Successful in 10m1s
Weekly Rebuild (CVE Updates) / rebuild (apko/flutter-sdk.yaml, flutter-sdk) (push) Successful in 9m56s
Weekly Rebuild (CVE Updates) / rebuild (apko/dotnet-runtime.yaml, dotnet-runtime) (push) Successful in 10m1s
Weekly Rebuild (CVE Updates) / rebuild (apko/dotnet-sdk.yaml, dotnet-sdk) (push) Successful in 10m0s
Check for Upstream Stable Updates / Check .NET stable releases (push) Successful in 4s
Check for Upstream Stable Updates / Check Flutter stable releases (push) Successful in 2s
Check for Upstream Stable Updates / Create release for new Flutter version (push) Has been skipped
Check for Upstream Stable Updates / Check Wolfi package updates (push) Successful in 15s
Check for Upstream Stable Updates / Rebuild and push all variants (apko/base.yaml, base) (push) Successful in 9m58s
Check for Upstream Stable Updates / Rebuild and push all variants (apko/dotnet-runtime.yaml, dotnet-runtime) (push) Successful in 9m58s
Check for Upstream Stable Updates / Rebuild and push all variants (apko/flutter-sdk.yaml, flutter-sdk) (push) Successful in 9m58s
Check for Upstream Stable Updates / Rebuild and push all variants (apko/build.yaml, build) (push) Successful in 10m0s
Check for Upstream Stable Updates / Rebuild and push all variants (apko/dotnet-sdk.yaml, dotnet-sdk) (push) Successful in 10m1s

- Add flutter-sdk-android.yaml with OpenJDK 17 from Wolfi packages
- Add flutter-sdk-linux.yaml with clang-19, cmake, ninja, GTK3 from Wolfi
- Update publish workflow to build new variants

This eliminates the need to copy libraries from Debian, removing all
Debian-sourced CVEs from the derived Flutter SDK images.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Mathias Beaulieu-Duncan 2026-02-02 23:49:05 -05:00
parent 4120f820a0
commit d99545f9a8
3 changed files with 113 additions and 1 deletions

View File

@ -30,6 +30,10 @@ jobs:
variant: dotnet-sdk variant: dotnet-sdk
- config: apko/flutter-sdk.yaml - config: apko/flutter-sdk.yaml
variant: flutter-sdk variant: flutter-sdk
- config: apko/flutter-sdk-android.yaml
variant: flutter-sdk-android
- config: apko/flutter-sdk-linux.yaml
variant: flutter-sdk-linux
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -84,7 +88,7 @@ jobs:
UPSTREAM=$(curl -fsSL "https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json" \ UPSTREAM=$(curl -fsSL "https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json" \
| jq -r '[."releases-index"[] | select(."support-phase" == "active" or ."support-phase" == "go-live") | ."latest-sdk"] | sort_by(. | split(".") | map(tonumber)) | last') | jq -r '[."releases-index"[] | select(."support-phase" == "active" or ."support-phase" == "go-live") | ."latest-sdk"] | sort_by(. | split(".") | map(tonumber)) | last')
;; ;;
flutter-sdk) flutter-sdk|flutter-sdk-android|flutter-sdk-linux)
UPSTREAM=$(curl -fsSL "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json" \ UPSTREAM=$(curl -fsSL "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json" \
| jq -r '.current_release.stable as $hash | .releases[] | select(.hash == $hash and .channel == "stable") | .version') | jq -r '.current_release.stable as $hash | .releases[] | select(.hash == $hash and .channel == "stable") | .version')
;; ;;

View File

@ -0,0 +1,49 @@
contents:
keyring:
- https://packages.wolfi.dev/os/wolfi-signing.rsa.pub
repositories:
- https://packages.wolfi.dev/os
packages:
# Base runtime
- wolfi-baselayout
- glibc
- glibc-locale-posix
- libstdc++
- ca-certificates-bundle
- tzdata
# Build tools
- bash
- busybox
- coreutils
- git
- curl
- wget
- unzip
- xz
- zip
# Java (for Android SDK)
- openjdk-17
- openjdk-17-default-jvm
accounts:
groups:
- groupname: flutter
gid: 65532
users:
- username: flutter
uid: 65532
gid: 65532
run-as: 65532
archs:
- x86_64
- aarch64
environment:
TZ: UTC
FLUTTER_HOME: /opt/flutter
JAVA_HOME: /usr/lib/jvm/java-17-openjdk
PATH: /opt/flutter/bin:/opt/flutter/bin/cache/dart-sdk/bin:/usr/lib/jvm/java-17-openjdk/bin:/usr/bin:/bin:/usr/sbin:/sbin
entrypoint:
command: /bin/bash

View File

@ -0,0 +1,59 @@
contents:
keyring:
- https://packages.wolfi.dev/os/wolfi-signing.rsa.pub
repositories:
- https://packages.wolfi.dev/os
packages:
# Base runtime
- wolfi-baselayout
- glibc
- glibc-locale-posix
- libstdc++
- ca-certificates-bundle
- tzdata
# Build tools
- bash
- busybox
- coreutils
- git
- curl
- wget
- unzip
- xz
# Linux desktop build toolchain
- clang-19
- cmake
- ninja-build
- pkgconf
# GTK and dependencies for Flutter Linux
- gtk-3-dev
- glib-dev
- pango-dev
- harfbuzz-dev
- cairo-dev
- gdk-pixbuf-dev
- xz-dev
accounts:
groups:
- groupname: flutter
gid: 65532
users:
- username: flutter
uid: 65532
gid: 65532
run-as: 65532
archs:
- x86_64
- aarch64
environment:
TZ: UTC
FLUTTER_HOME: /opt/flutter
CC: clang
CXX: clang++
PATH: /opt/flutter/bin:/opt/flutter/bin/cache/dart-sdk/bin:/usr/bin:/bin:/usr/sbin:/sbin
entrypoint:
command: /bin/bash