maven - 基于更新路径的条件作业和步骤

标签 maven github-actions

我们将 GitHub Actions 用于我们项目的多模块 Maven CI 构建,地址为 https://github.com/ibm/fhir .

我们有:

  • 我们希望在每个拉取请求上运行的最少测试集;和
  • 我们希望仅在给定模块(或其依赖项)更新时运行的一组全面测试

  • 我发现我可以通过定义多个工作流并使用内置的 on.pull_request.paths 来完成这样的事情。属性(property)记录在:https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths

    我想知道的是我是否/如何能在 job 上完成类似的事情或 step等级。我发现作业支持基于 https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif 的条件执行但我不知道是否有任何东西可以帮助获得类似于 on.pull_request.paths 的行为特征。

    假设没有,有没有人找到一个行动来帮助解决这个问题?或者也许有人可以指出我的实现 on.pull_request.paths特征?

    最佳答案

    社区论坛上的这篇文章可能会有所帮助。
    https://github.community/t5/GitHub-Actions/What-happened-to-github-event-head-commit-modified/m-p/37736#M3066

    那里的原始海报有类似的问题,他们创建了以下操作来确定是否对路径列表进行了修改。我不确定这是否适用于 on: pull_request ,但你可以试试看。

    https://github.com/marketplace/actions/path-watcher-action

    来自 path-watcher-action 的示例存储库:

    on: [push]
    
    jobs:
      job:
        runs-on: ubuntu-latest
        steps:
          - id: modified
            uses: pheel/path-watcher-action@v1
            with:
              github_token: ${{ secrets.GITHUB_TOKEN }}
              paths: 'dir1/**/*,dir2/**/*'
          - if: steps.modified.outputs.modified
            run: echo "Hey some change happened in one of your watched paths!"
    

    关于maven - 基于更新路径的条件作业和步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808690/

    相关文章:

    java - maven项目运行成功但无法构建

    scala - AspectJ 编译时编织和 Scala

    java - 排除maven中的依赖

    azure - 如何使用 Github 操作将多容器应用程序部署到 Azure?

    github-actions - 如何在 github 操作中的 "with" block 中使用变量

    java - 在 Maven 构建中并行运行 junit 测试?

    带有 OpenJDK 11.0.2 和 BouncyCaSTLeProvider 的 Maven

    azure - 将 Python 应用程序部署到 Azure 应用服务的 Github 工作流

    azure - 构建解决方案时不支持 "--output"选项

    GitHub 操作工作流计划不适用于非默认分支