我正在尝试使用 gradle (wrapped) 和 gitlab-ci 构建一个 kotlin 库。如果我在我的机器上执行命令一切正常,但 gitlab-ci 测试作业并没有结束并且正在等待Task :test。
我正在使用受此示例启发的基本 gitlab-ci 。
image: gradle:5.6.2-jdk8
stages:
- build
- test
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
cache:
paths:
- .gradle/wrapper
- .gradle/caches
build-latest:
stage: build
script:
- ./gradlew assemble
only:
- master
- tags
test:
stage: test
script:
- ./gradlew check
那是 gitlab-ci ( 12.2.5 ) 输出
Running with gitlab-runner 12.2.0 (a987417a)
on autoscale-runner eaccdfe9
Using Docker executor with image gradle:5.6.2-jdk8 ...
Pulling docker image gradle:5.6.2-jdk8 ...
Using docker image sha256:5eacc675d8626e3db6a6c4030fc817113f536f565ecd23b7f5aec7e5e5bfcc53 for gradle:5.6.2-jdk8 ...
Running on runner-eaccdfe9-project-769-concurrent-0 via runner-eaccdfe9-autoscale-1570629641-a91eb9db...
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/platform/libraries/kafka2rest/.git/
Checking out 69a3b20e as master...
Removing .gradle/
Removing build/
Skipping Git submodules setup
Checking cache for default-1...
Downloading cache.zip from http://10.164.0.3:9000/runner/runner/eaccdfe9/project/769/default-1
Successfully extracted cache
$ export GRADLE_USER_HOME=`pwd`/.gradle
$ ./gradlew -v
Welcome to Gradle 5.6.2!
Here are the highlights of this release:
- Incremental Groovy compilation
- Groovy compile avoidance
- Test fixtures for Java projects
- Manage plugin versions via settings script
For more details see https://docs.gradle.org/5.6.2/release-notes.html
------------------------------------------------------------
Gradle 5.6.2
------------------------------------------------------------
Build time: 2019-09-05 16:13:54 UTC
Revision: 55a5e53d855db8fc7b0e494412fc624051a8e781
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 1.8.0_222 (AdoptOpenJDK 25.222-b10)
OS: Linux 4.15.0-1044-gcp amd64
$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
$ ./gradlew check
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileKotlin
> Task :compileJava NO-SOURCE
> Task :processResources
> Task :classes
> Task :compileTestKotlin
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test
这有什么问题?有没有使用 gradle 和 gitlab-ci 构建 kotlin 的标准或模板?
编辑
我找到了待处理的测试套件。它包含 3 个测试,它们中的任何一个都创建具有相同start()方法的控制器的新实例。该start()方法启动一个新线程。如果只运行一个测试,它可以成功终止 gitlab-ci,如果两个或多个测试运行它不会,它仍然处于挂起状态。在测试中我使用信号量。测试仍然在本地工作。