diff --git a/.gitea/workflows/build-linux.yml b/.gitea/workflows/build-linux.yml index 1d52267b3..bac49063e 100644 --- a/.gitea/workflows/build-linux.yml +++ b/.gitea/workflows/build-linux.yml @@ -124,13 +124,15 @@ jobs: flutter --version command -v flutter_rust_bridge_codegen - # extended_text 14.0.0 requires Flutter 3.24+. Downgrade to 13.0.0 for - # the bridge-gen pub get under 3.22.3. Mirrors upstream bridge.yml. - (cd flutter && \ - sed -i -e 's/extended_text: 14.0.0/extended_text: 13.0.0/g' pubspec.yaml && \ - flutter pub get && \ - git checkout -- pubspec.yaml) + # extended_text 14.0.0 requires Dart >=3.5 (Flutter 3.24+). Flutter + # 3.22.3 has Dart 3.4.4, so downgrade to 13.0.0 for the duration of + # bridge generation. Mirrors upstream bridge.yml. + (cd flutter && sed -i -e 's/extended_text: 14.0.0/extended_text: 13.0.0/g' pubspec.yaml) + (cd flutter && flutter pub get) + # flutter_rust_bridge_codegen invokes `flutter pub run ffigen` + # internally, which re-validates pubspec.yaml -- so pubspec.yaml must + # still be the downgraded version when this runs. flutter_rust_bridge_codegen \ --llvm-path "$LLVM_HOME" \ --rust-input ./src/flutter_ffi.rs \ @@ -138,10 +140,10 @@ jobs: --c-output ./flutter/macos/Runner/bridge_generated.h cp ./flutter/macos/Runner/bridge_generated.h ./flutter/ios/Runner/bridge_generated.h - # Re-resolve packages with the build SDK (3.24.5) so pubspec.lock has - # the correct entries for the final build. The generated_bridge files - # produced under 3.22.3 above stay on disk -- they're plain Dart and - # remain compatible with 3.24.5's compiler. + # Now bridge gen is done. Restore the original pubspec.yaml and + # re-resolve under the build SDK (3.24.5) so pubspec.lock has the + # correct entries for the final flutter build linux step. + (cd flutter && git checkout -- pubspec.yaml) (cd flutter && /opt/flutter/bin/flutter pub get) - name: vcpkg install dependencies (x64-linux)