diff --git a/apps/distroless/bin/list_sdks.dart b/apps/distroless/bin/list_sdks.dart index 3ea6daab..b7552eff 100644 --- a/apps/distroless/bin/list_sdks.dart +++ b/apps/distroless/bin/list_sdks.dart @@ -1,12 +1,17 @@ import 'dart:convert'; import 'package:distroless/src/sdk/sdk_manager.dart'; -import 'package:distroless/src/sdk/sdk_release_info.dart'; import 'package:pub_semver/pub_semver.dart'; final Version minDartSdkVersion = Version(3, 7, 0); final Version minFlutterSdkVersion = Version(3, 29, 0); +/// SDKs where the tagged Dart SDK version does not match the published one. +final List badFlutterSdks = [ + Version.parse('3.30.0-0.1.pre'), + Version.parse('3.31.0-0.1.pre'), +]; + Future main(List args) async { final type = args.isNotEmpty ? args[0] : 'dart'; final (sdkManager, minVersion) = switch (type) { @@ -21,11 +26,13 @@ Future main(List args) async { allVersions.allReleases.entries.where((v) => v.key >= minVersion).toList() ..sort((a, b) => a.key.compareTo(b.key)), ); + if (type == 'flutter') { + for (final version in badFlutterSdks) { + releases.remove(version); + } + } final versions = releases.entries - // TODO(dnys1): Only include stable releases for Flutter since beta - // SDKs create SDK hash mismatch errors. - .where((it) => type == 'dart' || it.value == SdkChannel.stable) .map((it) => {'version': it.key.toString(), 'channel': it.value.name}) .toList(); diff --git a/apps/distroless/flutter/build/build.sh b/apps/distroless/flutter/build/build.sh index c775fffc..51bd36b5 100755 --- a/apps/distroless/flutter/build/build.sh +++ b/apps/distroless/flutter/build/build.sh @@ -22,7 +22,7 @@ esac --no-rbe \ --no-stripped \ --verbose \ - --no-prebuilt-dart-sdk \ + --prebuilt-dart-sdk \ --no-enable-unittests \ --enable-fontconfig \ --target-dir=host_release \ diff --git a/apps/distroless/flutter/build/sync.sh b/apps/distroless/flutter/build/sync.sh index 235513e3..b06fe842 100755 --- a/apps/distroless/flutter/build/sync.sh +++ b/apps/distroless/flutter/build/sync.sh @@ -28,6 +28,7 @@ solutions = [ "download_esbuild": False, "download_android_deps": False, "download_fuchsia_deps": False, + "download_dart_sdk": True, "host_os": "linux", "host_cpu": "${ARCH}", }