ae203771创建于 2025年11月13日历史提交
tasks:
  - name: prepare tool
    script: .ci/scripts/prepare_tool.sh
    infra_step: true # Note infra steps failing prevents "always" from running.
  # format requires that 'pub get' has been run to determine the language
  # version, so the tool will auto-run it if necessary. Run it manually first
  # so that the network requests are in a separate infra step.
  - name: download Dart deps
    script: .ci/scripts/tool_runner.sh
    args: ["fetch-deps"]
    infra_step: true
  - name: tool unit tests
    script: .ci/scripts/plugin_tools_tests.sh
  - name: tool format
    script: .ci/scripts/plugin_tools_format.sh
  - name: format
    script: .ci/scripts/tool_runner.sh
    # Skip Swift formatting on Linux builders.
    args: ["format", "--fail-on-change", "--no-swift"]
    always: true
  - name: license validation
    script: .ci/scripts/tool_runner.sh
    args: ["license-check"]
    always: true
    # The major and minor version here should match the lowest version analyzed
    # in legacy version analysis (.ci.yaml analyze_legacy).
  - name: pubspec validation
    script: .ci/scripts/tool_runner.sh
    args:
      - "pubspec-check"
      - "--min-min-flutter-version=3.32.0"
      - "--allow-dependencies=script/configs/allowed_unpinned_deps.yaml"
      - "--allow-pinned-dependencies=script/configs/allowed_pinned_deps.yaml"
    always: true
  - name: README validation
    script: .ci/scripts/tool_runner.sh
    args: ["readme-check"]
    always: true
    # Re-run with --require-excerpts, skipping packages that still need
    # to be converted. Once https://github.com/flutter/flutter/issues/102679
    # has been fixed, this can be removed --require-excerpts added to the
    # run above.
  - name: README snippet configuration validation
    script: .ci/scripts/tool_runner.sh
    args: ["readme-check", "--require-excerpts", "--exclude=script/configs/temp_exclude_excerpt.yaml"]
    always: true
  - name: README snippet validation
    script: .ci/scripts/tool_runner.sh
    args: ["update-excerpts", "--fail-on-change"]
    always: true
  - name: Gradle validation
    script: .ci/scripts/tool_runner.sh
    args: ["gradle-check"]
    always: true
  - name: Repository-level package metadata validation
    script: .ci/scripts/tool_runner.sh
    args: ["check-repo-package-info"]
    always: true
  - name: Dependabot coverage validation
    script: .ci/scripts/tool_runner.sh
    args: ["dependabot-check"]
    always: true
  - name: CHANGELOG and version validation
    script: .ci/scripts/check_version.sh
    always: true
  - name: federated safety check
    script: .ci/scripts/check_federated_safety.sh
    always: true
  # This is the slowest test, so prefer keeping it last.
  - name: publishability
    script: .ci/scripts/tool_runner.sh
    args: ["publish-check", "--allow-pre-release"]
    always: true