GitHub Actions中Test Reporter步骤Git仓库错误求助
问题分析与解决
你遇到的错误核心原因是:dorny/test-reporter 动作执行时,当前工作目录并非Git仓库根目录,导致git ls-files命令无法找到.git文件夹而失败。
具体解决办法:
1. 修正工作目录配置
从更新的环境变量可以看到BACKENDPATH: MyApp,说明你的项目代码实际在MyApp子目录下。需要给Test Report步骤指定正确的工作目录:
- name: Test Report env: # 替换原有的${{ env.PATH }}为项目路径变量BACKENDPATH,避免覆盖系统PATH环境变量 SERVER_PATH: ${{ github.workspace }}/drop/${{ env.BACKENDPATH }} uses: dorny/test-reporter@v1 if: always() # 指定动作执行的工作目录到项目子目录 working-directory: ${{ github.workspace }}/${{ env.BACKENDPATH }} with: name: Maven Tests path: target/surefire-reports/*.xml reporter: java-junit fail-on-error: true
2. 修正测试步骤的路径错误
你的测试步骤中误用了系统PATH环境变量(--file ${{ env.PATH }}/pom.xml),这会导致无效路径,建议一并修正:
- name: Test env: SERVER_PATH: ${{ github.workspace }}/drop/${{ env.BACKENDPATH }} run: mvn --batch-mode -Dmaven.test.failure.ignore=true test --file ${{ env.BACKENDPATH }}/pom.xml
3. 强制切换到Git仓库根目录(备选方案)
如果不确定项目具体子目录,可以在Test Report步骤前添加切换目录的命令:
- name: Switch to repository root run: cd ${{ github.workspace }}
内容的提问来源于stack exchange,提问作者Kikrigen
相关产品推荐
相关产品推荐

