Start Debugging

Dev-теги Dart 3.12 выходят быстро: как их читать (и что делать) как разработчику Flutter 3.x

Dev-теги Dart 3.12 появляются быстро. Вот как читать строку версии, зафиксировать dev SDK в CI и сортировать сбои, чтобы ваша миграция Flutter 3.x была маленьким PR, а не пожарной тревогой.

Лента релизов Dart SDK была необычно активна в последние 48 часов, с несколькими тегами Dart 3.12 dev, выходящими подряд (например 3.12.0-12.0.dev). Даже если вы выпускаете Flutter 3.x stable, эти теги важны, потому что они — ранний сигнал о грядущих изменениях в языке, анализаторе и VM.

Источник: Dart SDK 3.12.0-12.0.dev

Dev-тег — это не “релиз”, но это превью совместимости

Если вы на Flutter stable, не стоит произвольно обновлять тулчейн до dev SDK. Но dev-теги можно использовать стратегически:

Думайте о dev-тегах как о канале превью совместимости.

Как читать строку версии без догадок

Формат 3.12.0-12.0.dev выглядит странно, пока вы не воспринимаете его как: “3.12.0 prerelease, dev-сборка номер 12”. Вам не нужно выводить возможности из самого числа. Вы используете его, чтобы зафиксировать известный тулчейн при тестировании.

На практике:

Фиксирование конкретного Dart SDK в CI (не ломая всем день)

Вот минимальный пример GitHub Actions, который настраивает зафиксированный SDK и запускает обычные проверки. Это намеренно отделено от вашей основной сборки, чтобы можно было трактовать сбои как “сигнал”, а не “остановите мир”.

name: dart-dev-signal
on:
  schedule:
    - cron: "0 6 * * *" # daily
  workflow_dispatch:

jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # Pin a specific dev tag so failures are reproducible.
      # Follow Dart SDK release assets/docs for the right install method for your runner.
      - name: Install Dart SDK dev
        run: |
          echo "Pin Dart 3.12.0-12.0.dev here"
          dart --version

      - name: Analyze + test
        run: |
          dart pub get
          dart analyze
          dart test

Важное поведение — не сниппет инсталлятора, а политика: этот job — канарейка.

Что делать со сбоями

Когда dev-канал ломает вашу сборку, нужно, чтобы сбой отвечал на один вопрос: “это наш код или наши зависимости?”

Быстрый чеклист сортировки:

Награда скучная, но настоящая: когда Flutter в конце концов подтянет более новый тулчейн Dart, ваша миграция будет маленьким PR, а не пожарной тревогой.

Ресурс: Dart SDK releases

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад