Intellij Idea Intellij插件构建的compileKotlin步骤在Github Actions中的Java堆空间上失败

weylhg0b  于 2023-04-29  发布在  Kotlin
关注(0)|答案(1)|浏览(224)

我有一个Intellij插件,我使用模板https://github.com/JetBrains/gradle-intellij-plugin构建
我的行动:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Setup Java
        uses: actions/setup-java@v3
        with:
          distribution: zulu
          java-version: 11
          cache: gradle

      - name: Plugin
        env:
          CI_BUILD_PLUGIN: true
          DEFAULT_JVM_OPTS: "-Xmx5g -Xms5g"
          GRADLE_OPTS: "-Dkotlin.daemon.jvm.options=-Xmx5G"
        run: |
          ./gradlew check
          ./gradlew runPluginVerifier

在Github Actions中运行./gradlew check时,我得到Java堆空间错误:

Execution failed for task ':compileKotlin'.
See the complete report at file:///home/runner/work/xxx/plugins/intellij-platform/build/reports/configuration-cache/avgk7hbsu56pccc278todq8le/5a6oh43i8gcje908b7bopoqxi/configuration-cache-report.html
7 actionable tasks: 7 executed
> Could not resolve all files for configuration ':detachedConfiguration1'.
   > Failed to transform app.jar to match attributes {artifactType=classpath-entry-snapshot, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for ClasspathEntrySnapshotTransform: /home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2022.3.1/2a2986db4e11c3d378b4d1c8b9fd040cd6d99802/ideaIC-2022.3.1/lib/app.jar.
         > Java heap space

由于Github runner有7GB内存,我非常怀疑它是否达到了这个极限。此外,在本地运行不会导致这样的内存使用。
我尝试设置JVM堆,正如您在操作yaml中看到的那样,但没有任何效果。
这个堆错误只在平台版本2022.3.1 +的构建中重现,我假设它们只是超过了默认的堆限制。
我是否遗漏了任何配置?

tquggr8v

tquggr8v1#

这似乎是一个已知的问题,从org.jetbrains.kotlin.jvm版本1.8.20开始。
你应该可以在gradle.properties中向上堆,如下所示:org.gradle.jvmargs=-Xmx4g -Xms1g
或者,您可以禁用增量编译,如下所示:kotlin.incremental.useClasspathSnapshot=false
这两个修改中的任何一个都应该解决这个问题。

相关问题