Kotlin 如何使用github操作bot测试gradle java
我正在尝试实现Github操作(bot),它在创建PR时运行gradle测试。 为了确保我的工作流文件按预期工作,我显式地编写了一个测试方法,该方法应该会导致失败Kotlin 如何使用github操作bot测试gradle java,kotlin,gradle,junit4,github-actions,gradlew,Kotlin,Gradle,Junit4,Github Actions,Gradlew,我正在尝试实现Github操作(bot),它在创建PR时运行gradle测试。 为了确保我的工作流文件按预期工作,我显式地编写了一个测试方法,该方法应该会导致失败 @测试 有趣的是这应该失败{ 资产质量(1,2) } 当我尝试在本地机器上测试时,我会得到下面的日志 > Task :test FAILED FAILURE: Build failed with an exception. # More 上面的日志表明测试代码中出现了我预期的错误。 但是当Github actions b
@测试
有趣的是这应该失败{
资产质量(1,2)
}
当我尝试在本地机器上测试时,我会得到下面的日志
> Task :test FAILED
FAILURE: Build failed with an exception.
# More
上面的日志表明测试代码中出现了我预期的错误。
但是当Github actions bot运行这个命令时,测试代码的结果是SUCCESS
下面是我的github工作流yaml文件,用于此操作
name:PullRequestGradleTest
关于:
拉取请求目标:
类型:[已标记]
工作:
测试:
姓名:GradleTest
运行于:ubuntu最新版本
if:contains(github.event.pull\u request.labels.*.name,‘STAGING’)
步骤:
-姓名:结帐
用途:行动/checkout@v2
-名称:安装程序JDK 1.8
用途:操作/设置-java@v2
与:
java版本:“8”
分发:“采用”
-名称:向gradlew授予权限
运行:chmod+x gradlew
-名称:测试
运行:梯度测试--测试“*”
-名称:测试成功
如果:成功()
用途:操作/github-script@0.2.0
与:
github令牌:${{github.token}
脚本:|
const pull_number=“${github.event.number}”
等待github.pulls.createReview({
…context.repo,
拔出号码,
正文:“所有测试均通过。”,
事件:“批准”
})
-名称:测试失败
if:failure()
用途:操作/github-script@0.2.0
与:
github令牌:${{github.token}
脚本:|
const pull_number=“${github.event.number}”
等待github.pulls.createReview({
…context.repo,
拔出号码,
正文:“测试代码有问题。”,
事件:“请求更改”
})
等待github.pulls.update({
…context.repo,
拔出号码,
国家:“关闭”
})
我发现您使用的是gradle
,而不是gradlew
name:PullRequestGradleTest
关于:
拉取请求目标:
类型:[已标记]
工作:
测试:
姓名:GradleTest
运行于:ubuntu最新版本
if:contains(github.event.pull\u request.labels.*.name,‘STAGING’)
步骤:
-姓名:结帐
用途:行动/checkout@v2
-名称:安装程序JDK 1.8
用途:操作/设置-java@v2
与:
java版本:“8”
分发:“采用”
-名称:向gradlew授予权限
运行:chmod+x gradlew
-名称:测试
运行:./gradlew测试--测试“*”
-名称:测试成功
如果:成功()
用途:操作/github-script@0.2.0
与:
github令牌:${{github.token}
脚本:|
const pull_number=“${github.event.number}”
等待github.pulls.createReview({
…context.repo,
拔出号码,
正文:“所有测试均通过。”,
事件:“批准”
})
-名称:测试失败
if:failure()
用途:操作/github-script@0.2.0
与:
github令牌:${{github.token}
脚本:|
const pull_number=“${github.event.number}”
等待github.pulls.createReview({
…context.repo,
拔出号码,
正文:“测试代码有问题。”,
事件:“请求更改”
})
等待github.pulls.update({
…context.repo,
拔出号码,
国家:“关闭”
})
如果在命令中使用gradle
,这将取决于机器的环境。在这种情况下,可能由于Gradle
版本而发生错误。因此,您需要使用回购协议中包含的项目的Gradle
。使用的方法是使用gradlew
脚本
我还建议遵循这三个步骤来测试pull请求的分支
清洁->组装(或构建)->测试
基本问题是,如果我们使用
pull\u request\u target
事件,操作将在目标分支上运行,这将是PR将合并到的基本分支。为了解决这个问题,我必须显式地设置此操作将在何处运行
在作业上
=>步骤
步骤:
-姓名:结帐
用途:行动/checkout@v2
与:
ref:${{github.event.pull_request.head.ref}
存储库:${{github.event.pull\u request.head.repo.full\u name}
太棒了!实际上已从/gradlew test
更改为gradle test
,因为我还认为gradle有问题,但这不是问题的根本原因。:)然后,您可能需要提供详细信息,如显示异常消息或stacktrace来解决此问题。