From e19afd00f1d600ebc391f590e2e8448b4ceaa33f Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 8 Oct 2026 21:30:29 +0200 Subject: [PATCH] =?UTF-8?q?Dart=203.13=20/=20Flutter=203.47.6=20:=20SDK=20?= =?UTF-8?q?=C3=A0=20jour=20et=20=C3=A9pingl=C3=A9=20partout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit L'image ghcr.io/cirruslabs/flutter:stable n'est plus publiée depuis Flutter 3.44.0 : le build Docker compilait toujours avec Dart 3.12.0 (mai 2026), alors que la CI testait le serveur en Dart 3.13 et le front en Flutter 3.38.4. Trois SDK différents selon l'endroit. - Dockerfile : SDK Flutter officiel 3.47.6 (Dart 3.13.5) téléchargé depuis flutter_infra_release, version en ARG - CI : Flutter 3.38.4 → 3.47.6, Dart 3.13.2 → 3.13.5 — même SDK que l'image - pubspec : contrainte sdk ^3.13.0 (au lieu de >=3.0.0) pour pouvoir utiliser les nouveautés du langage (constructeurs primaires, raccourcis `.valeur`, éléments `?x`). Les lockfiles exigeaient déjà 3.10.3 / 3.11.0 : le minimum affiché était faux Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 4 ++-- Dockerfile | 23 +++++++++++++++++++++-- bin/pubspec.lock | 2 +- bin/pubspec.yaml | 2 +- pubspec.lock | 2 +- pubspec.yaml | 2 +- 6 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd13dd2..1472434 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: # fil du temps (une release Flutter peut casser la CI sans aucun # changement dans le dépôt). Le cache évite de retélécharger SDK et # dépendances pub à chaque run. - flutter-version: 3.38.4 + flutter-version: 3.47.6 channel: stable cache: true - run: flutter pub get @@ -42,7 +42,7 @@ jobs: - uses: actions/checkout@v4 - uses: dart-lang/setup-dart@v1 with: - sdk: 3.13.2 + sdk: 3.13.5 - run: dart pub get - run: dart analyze - run: dart test diff --git a/Dockerfile b/Dockerfile index 7a8be61..d408095 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,26 @@ # Stage 1: Build Environment (Optimized for Docker Caching) -FROM ghcr.io/cirruslabs/flutter:stable AS builder +# SDK Flutter officiel, version épinglée — la même que la CI. L'image +# ghcr.io/cirruslabs/flutter:stable n'est plus mise à jour : elle était +# restée sur Flutter 3.44.0 / Dart 3.12.0 (mai 2026), loin derrière la +# version stable réelle. +FROM debian:stable-slim AS builder + +ARG FLUTTER_VERSION=3.47.6 + +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + git \ + unzip \ + xz-utils \ + && rm -rf /var/lib/apt/lists/* + +RUN curl -fsSL "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz" \ + | tar -xJ -C /opt \ + && git config --global --add safe.directory /opt/flutter + +ENV PATH="/opt/flutter/bin:/opt/flutter/bin/cache/dart-sdk/bin:${PATH}" -USER root WORKDIR /app # Optimize DART VM Memory diff --git a/bin/pubspec.lock b/bin/pubspec.lock index bddb80c..318f579 100644 --- a/bin/pubspec.lock +++ b/bin/pubspec.lock @@ -474,4 +474,4 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.11.0 <4.0.0" + dart: ">=3.13.0 <4.0.0" diff --git a/bin/pubspec.yaml b/bin/pubspec.yaml index 589c351..7aac5e9 100644 --- a/bin/pubspec.yaml +++ b/bin/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.13.0 dependencies: shelf: ^1.4.1 diff --git a/pubspec.lock b/pubspec.lock index 8cbf66c..0cb8b6b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1262,5 +1262,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.10.3 <4.0.0" + dart: ">=3.13.0 <4.0.0" flutter: ">=3.38.4" diff --git a/pubspec.yaml b/pubspec.yaml index ae1c237..d80bb74 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.13.0 dependencies: flutter: