【问题标题】:Running github actions for `uses` in another directory在另一个目录中为“uses”运行 github 操作
【发布时间】:2021-07-21 17:46:44
【问题描述】:

我的 maven 存储库位于 ./java 目录中。我想在./java 目录中运行 maven 测试,但出现以下错误:

The goal you specified requires a project to execute but there is no POM in this directory (/github/workspace). Please verify you invoked Maven from the correct directory. -> [Help 1]

这是我的工作流程:

# This is a basic workflow to help you get started with Actions

name: CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

  workflow_dispatch:


jobs:
  build:
    defaults:
      run:
        working-directory: java
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        
      - name: Run maven test
        uses: xlui/action-maven-cli@master
    
        with:
          lifecycle: 'clean package test'

working-directory好像没用,怎么解决?

【问题讨论】:

标签: maven github github-actions


【解决方案1】:

working-directory 只能应用于run: 步骤(例如它不适用于动作)

动作xlui/action-maven-cli@master 当前不允许通知path 执行maven 命令。

你也可以

  • 使用another (similar) action available on the Github Marketplace,它允许在执行maven命令之前通知directory path

  • 打开 PR 以更新 xlui/action-maven-cli 操作,添加输入 path(或 env 变量)以在执行 maven 命令之前执行 cd 命令,

  • 在一个步骤中直接在您的工作流中安装maven(例如setup maven action),然后使用run: | 在另一个步骤(不使用该操作)上直接运行maven 命令,然后使用cd ./java 在执行@987654335 之前@,

类似的东西(对于第 3 个选项)

steps:
  - uses: actions/checkout@v2
    
  - name: Install maven
    run: |
      ...
  - name: Run maven command
    run: |
      cd ./java
      mvn clean package test

【讨论】:

  • 感谢您的回答!我最终通过安装maven并添加-f参数来指定maven测试目录解决了这个问题。我要提一提的是,官方的maven安装动作只在根目录下生效,所以cd ./java & mvn install会导致'command not found: mvn'
猜你喜欢
  • 2020-01-28
  • 2021-04-09
  • 2020-03-10
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
相关资源
最近更新 更多