Start Debugging

Dart 3.12 の dev タグは速く動いている: Flutter 3.x 開発者として読み方 (と何をするか)

Dart 3.12 の dev タグが速いペースで出ています。バージョン文字列の読み方、CI で dev SDK をピン留めする方法、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 プレリリース、dev ビルド番号 12」と捉えれば自然になります。番号そのものから機能を推測する必要はありません。テストの際に既知のツールチェーンを固定するのに使うのです。

実践として。

CI で特定の Dart SDK をピン留めする (誰の一日も壊さずに)

ここに、ピン留めした SDK をセットアップして通常のチェックを走らせる最小限の GitHub Actions の例を示します。これは意図的にメインビルドから分離してあり、失敗を「世界停止」ではなく「シグナル」として扱えます。

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

重要な振る舞いはインストーラのスニペットではなく、ポリシーです。このジョブはカナリアです

失敗をどう扱うか

dev チャネルがビルドを壊したら、失敗には単一の質問に答えてもらいましょう。「これは自分たちのコードか、依存先か」です。

迅速なトリアージのチェックリスト。

報酬は地味ですが本物です。Flutter が最終的に新しい Dart ツールチェーンを取り込んだとき、マイグレーションは消火活動ではなく小さな PR になります。

リソース: Dart SDK releases

Comments

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

< 戻る