You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Action工作流中能否将多个run命令归类到同一步骤名下?

结论

你设想的同一个步骤下声明多个run字段的写法无法实现需求:GitHub Actions解析YAML配置时,同个映射下的重复key会被覆盖,仅最后一个run的命令会被执行。

正确的优化方案

你可以使用YAML的多行字符串语法(|保留换行符),在单个run字段下拆分多条命令,可读性和你预期的写法一致,且执行逻辑和原来用&&拼接的效果完全相同(某一步执行失败就会终止后续命令)。

优化后的完整job配置示例

flutter_test:
    name: Run flutter test and analyze
    runs-on: ubuntu-latest
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v1
        with:
          java-version: "12.x"
      - uses: subosito/flutter-action@v1.5.3
        with:
          channel: "stable"
          
      - name: Testing and analyzing paginablelistviewbuilder_example
        run: |
          cd example/paginablelistviewbuilder_example/
          flutter pub get
          flutter analyze
          flutter test

      - name: Testing and analyzing paginablesliverchildbuilderdelegate_example
        run: |
          cd example/paginablesliverchildbuilderdelegate_example/
          flutter pub get
          flutter analyze
          flutter test

      - name: Testing and analyzing paginable
        run: |
          flutter pub get
          flutter analyze
          flutter test --coverage

      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v2
        with:
          files: coverage/lcov.info

额外优化建议

你还可以搭配步骤的working-directory参数指定命令执行的工作目录,省去单独写cd命令的步骤,逻辑更清晰:

- name: Testing and analyzing paginablelistviewbuilder_example
  working-directory: example/paginablelistviewbuilder_example/
  run: |
    flutter pub get
    flutter analyze
    flutter test

内容的提问来源于stack exchange,提问作者The Chinky Sight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:18:03