来自 Space Automation 的 Qdana 中的代码覆盖率

问题描述 投票:0回答:1

我正在尝试设置 Space 自动化来运行我的代码覆盖范围并将其上传到 Qodana 云。

我可以运行覆盖范围并在 Intellij 本地的 Qodana 中查看它,但我正在努力寻找如何通过空间自动化来做到这一点。它将分析我的代码,但不会分析代码覆盖率。

这是我的空间自动化脚本

.space.kts

job("Qodana") {
  startOn {
    gitPush {
      anyBranchMatching {
        +"main"
      }
    }
    codeReviewOpened{}
  }
  container("jetbrains/qodana-jvm") {
    env["QODANA_TOKEN"] = "{{ project:qodana-token }}"
    shellScript {
      content = "qodana"
    }
  }
}

还有我的

qodana.yaml

version: "1.0"

#Specify inspection profile for code analysis
profile:
  name: qodana.recommended

#Enable inspections
include:
  - name: CheckDependencyLicenses

projectJDK: 17 #(Applied in CI/CD pipeline)

#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
linter: jetbrains/qodana-jvm:latest

我错过了什么?

code-coverage jetbrains-space-automation qodana
1个回答
0
投票

我终于明白了这一点。我遇到的两个问题:

  • 我没有在自动化中运行代码覆盖率
  • 运行后,我必须将结果传递给 qodana 扫描。

为了实现这一点,我最终得到了这个

.space.kts
文件

job("Build, tests and Qodana") {
  startOn {
    gitPush {
      anyBranchMatching {
        +"main"
      }
    }
    codeReviewOpened{}
  }

  container(displayName = "Run mvn install", image = "maven:latest") {
    shellScript {
      content = """
        mkdir ${'$'}JB_SPACE_FILE_SHARE_PATH/code-coverage
        mvn clean install
        cp -r ./.qodana/code-coverage ${'$'}JB_SPACE_FILE_SHARE_PATH/code-coverage
      """.trimIndent()
    }
  }

  container(displayName =  "Run Qodana", image = "jetbrains/qodana-jvm") {
    env["QODANA_TOKEN"] = "{{ project:qodana-token }}"
    shellScript {
      content = """
        cp -r ${'$'}JB_SPACE_FILE_SHARE_PATH/code-coverage /data/coverage
        qodana
      """.trimIndent()
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.