Github 操作:尝试使用工作目录启动进程“/usr/bin/bash”时发生错误。没有这样的文件或目录

Nux*_*Nux 1 flutter github-actions

我正在创建两个共享许多功能的 flutter 应用程序,并决定创建一个单独的包供两者使用。

以下是目录结构

  • 我的项目
    • .github/workflows/main.yaml
    • 应用
      • 应用程序1
        • lib/main_devnet.dart
      • 应用程序2
        • lib/main_devnet.dart
      • 图形
        • 主程序.dart

graph 包中有一些代码是由 code_builder 通过运行生成的

flutter pub run build_runner build --delete-conflicting-outputs
Run Code Online (Sandbox Code Playgroud)

在我的计算机中,构建 apk 时一切正常,但我试图使用 github 操作自动化这项工作。

这是我当前的工作流程,我无法正常工作。

.github/workflows/main.yaml

flutter pub run build_runner build --delete-conflicting-outputs
Run Code Online (Sandbox Code Playgroud)

将我的代码推送到 github 时,出现以下错误,导致 CI​​ 失败:

Run flutter pub get
  flutter pub get
  shell: /usr/bin/bash -e {0}
Error: An error occurred trying to start process '/usr/bin/bash' with working directory '/home/runner/work/my-app-repository/my-app-repository/./apps/app2/'. No such file or directory
Run Code Online (Sandbox Code Playgroud)

我认为问题在于使用矩阵定义工作目录,正如您在错误中看到的那样, my-app-repositorymy-app-repository/my-app-repository这个词重复了两次,导致错误的目录并使整个过程失败。

我该如何解决这个问题?

Grz*_*ski 6

每项工作都是从一个新的环境开始的。

您必须签出存储库并在每个作业上安装 flutter:

因此,您必须将其添加到矩阵解决方案中的步骤中:

- uses: actions/checkout@v3
- uses: actions/setup-java@v2
  with:
  distribution: 'zulu'
  java-version: '11'
- uses: subosito/flutter-action@v2
  with:
  flutter-version: '2.10.0'
Run Code Online (Sandbox Code Playgroud)