From f4c9b254db74aad16aab193c34855cb607ac2231 Mon Sep 17 00:00:00 2001 From: "Danil.Tereshchenko" Date: Wed, 5 Jul 2023 19:37:08 +0000 Subject: [PATCH] [maintenance] Update TC settings with new tests and TC badges Update BazelBsp end-to-end tests for multiple Bazel versions Several test cases have been duplicated and adjusted for Bazel versions 6.2.1 and 5.4.1. Apart from the Bazel version, all other parameters and conditions kept consistent to ensure faithful tests of Bazel versions. Add status badges sharing to TC config Add status badges for main branch from our TeamCity public instance to README - status of full pipeline Remove unnecessary import in settings.kts Merge-request: BAZEL-MR-343 Merged-by: Danil Tereshchenko --- .../configurations/bazelBsp/bazelE2eTests.kts | 60 ++++++++++++++----- .../configurations/resultsAggregator.kts | 2 + .teamcity/settings.kts | 22 ++++--- README.md | 2 +- 4 files changed, 61 insertions(+), 25 deletions(-) diff --git a/.teamcity/configurations/bazelBsp/bazelE2eTests.kts b/.teamcity/configurations/bazelBsp/bazelE2eTests.kts index c4df94e64..fb8237113 100644 --- a/.teamcity/configurations/bazelBsp/bazelE2eTests.kts +++ b/.teamcity/configurations/bazelBsp/bazelE2eTests.kts @@ -9,35 +9,46 @@ import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.script open class BazelBspE2ETestsBuildType( targets: String, - steps: (BuildSteps.() -> Unit)? = null + steps: (BuildSteps.() -> Unit)? = null, + bazelVersion: String, ) : BaseConfiguration.BaseBuildType( - - name = "[e2e tests] $targets test", + name = "[e2e tests] $targets test with bazel $bazelVersion", vcsRoot = BaseConfiguration.BazelBspVcs, setupSteps = true, steps = { - if (steps != null) { - steps.invoke(this) + steps?.invoke(this) + + script { + this.name = "set bazel version" + scriptContent = """ + |#!/bin/bash + |set -euxo pipefail + | + |export USE_BAZEL_VERSION=$bazelVersion + |echo "##teamcity[setParameter name='env.USE_BAZEL_VERSION' value='${'$'}USE_BAZEL_VERSION']" + """.trimMargin() } bazel { this.name = "test $targets" this.command = "run" this.targets = targets logging = BazelStep.Verbosity.Diagnostic - arguments = "--test_output=errors" param("toolPath", "/usr/local/bin") } - }, - requirements = { - contains("cloud.amazon.agent-name-prefix", "Linux-Large") } ) -object SampleRepoE2ETest : BazelBspE2ETestsBuildType( +object SampleRepoBazel6E2ETest : BazelBspE2ETestsBuildType( targets = "//e2e:BazelBspSampleRepoTest", + bazelVersion = "6.2.1" ) -object BazelBspLocalJdkTest : BazelBspE2ETestsBuildType( +object SampleRepoBazel5E2ETest : BazelBspE2ETestsBuildType( + targets = "//e2e:BazelBspSampleRepoTest", + bazelVersion = "5.4.1" +) + +object BazelBspLocalBazel6JdkTest : BazelBspE2ETestsBuildType( targets = "//e2e:BazelBspLocalJdkTest", steps = { script { @@ -49,13 +60,32 @@ object BazelBspLocalJdkTest : BazelBspE2ETestsBuildType( echo "##teamcity[setParameter name='env.JAVA_HOME' value='%env.JDK_17_0%']" """.trimIndent() } - } + }, + bazelVersion = "6.2.1" ) -object BazelBspRemoteJdkTest : BazelBspE2ETestsBuildType( +object BazelBspLocalBazel5JdkTest : BazelBspE2ETestsBuildType( + targets = "//e2e:BazelBspLocalJdkTest", + steps = { + script { + this.name = "set JDK to 17" + scriptContent = """ + #!/bin/bash + set -euxo pipefail + + echo "##teamcity[setParameter name='env.JAVA_HOME' value='%env.JDK_17_0%']" + """.trimIndent() + } + }, + bazelVersion = "5.4.1" +) + +object BazelBspRemoteBazel6JdkTest : BazelBspE2ETestsBuildType( targets = "//e2e:BazelBspRemoteJdkTest", + bazelVersion = "6.2.1" ) -object CppProjectE2ETest : BazelBspE2ETestsBuildType( - targets = "//e2e:BazelBspCppProjectTest", +object BazelBspRemoteBazel5JdkTest : BazelBspE2ETestsBuildType( + targets = "//e2e:BazelBspRemoteJdkTest", + bazelVersion = "5.4.1" ) diff --git a/.teamcity/configurations/resultsAggregator.kts b/.teamcity/configurations/resultsAggregator.kts index 9b39604ff..471d07845 100644 --- a/.teamcity/configurations/resultsAggregator.kts +++ b/.teamcity/configurations/resultsAggregator.kts @@ -9,6 +9,8 @@ object BazelBspAggregator : BuildType({ name = "bazel-bsp results" + allowExternalStatus = true + vcs { root(BaseConfiguration.BazelBspVcs) showDependenciesChanges = false diff --git a/.teamcity/settings.kts b/.teamcity/settings.kts index d3d4b9489..5c8b597b9 100644 --- a/.teamcity/settings.kts +++ b/.teamcity/settings.kts @@ -1,6 +1,5 @@ import configurations.bazelBsp.* import configurations.* -import jetbrains.buildServer.configs.kotlin.v10.toExtId import jetbrains.buildServer.configs.kotlin.v2019_2.* import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs import jetbrains.buildServer.configs.kotlin.v2019_2.Project @@ -29,10 +28,12 @@ object BazelBsp : Project({ }) { buildType(BazelBuild.BuildTheProject) buildType(BazelUnitTests.UnitTests) - buildType(BazelE2eTests.SampleRepoE2ETest) - buildType(BazelE2eTests.BazelBspLocalJdkTest) - buildType(BazelE2eTests.BazelBspRemoteJdkTest) - buildType(BazelE2eTests.CppProjectE2ETest) + buildType(BazelE2eTests.SampleRepoBazel6E2ETest) + buildType(BazelE2eTests.SampleRepoBazel5E2ETest) + buildType(BazelE2eTests.BazelBspLocalBazel6JdkTest) + buildType(BazelE2eTests.BazelBspLocalBazel5JdkTest) + buildType(BazelE2eTests.BazelBspRemoteBazel6JdkTest) + buildType(BazelE2eTests.BazelBspRemoteBazel5JdkTest) } buildType(ResultsAggregator.BazelBspAggregator, options = { @@ -49,6 +50,7 @@ object BazelBsp : Project({ allSteps.last().triggers { vcs { branchFilter = """ + +: +:pull/* """.trimIndent() } @@ -59,10 +61,12 @@ object BazelBsp : Project({ RelativeId("FormatBuildifier"), RelativeId("BuildBuildBazelBsp"), RelativeId("UnitTestsUnitTests"), - RelativeId("E2eTestsE2eBazelBspSampleRepoTestTest"), - RelativeId("E2eTestsE2eBazelBspLocalJdkTestTest"), - RelativeId("E2eTestsE2eBazelBspRemoteJdkTestTest"), - RelativeId("E2eTestsE2eBazelBspCppProjectTestTest"), + RelativeId("E2eTestsE2eBazelBspSampleRepoTestTestWithBazel621"), + RelativeId("E2eTestsE2eBazelBspSampleRepoTestTestWithBazel541"), + RelativeId("E2eTestsE2eBazelBspLocalJdkTestTestWithBazel621"), + RelativeId("E2eTestsE2eBazelBspLocalJdkTestTestWithBazel541"), + RelativeId("E2eTestsE2eBazelBspRemoteJdkTestTestWithBazel621"), + RelativeId("E2eTestsE2eBazelBspRemoteJdkTestTestWithBazel541"), RelativeId("BazelBspResults") ) }) diff --git a/README.md b/README.md index a326cc15e..1b81623aa 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![JetBrains team project](http://jb.gg/badges/team.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) +[![TeamCity build status](https://bazel.teamcity.com/app/rest/builds/buildType:id:Bazel_BazelBsp_BazelBspResults/statusIcon.svg)](https://bazel.teamcity.com/project/Bazel_BazelBsp?branch=%3Cdefault%3E&buildTypeTab=overview&mode=builds) [![Bazel Steward badge](https://img.shields.io/badge/Bazel_Steward-helping-blue.svg?style=flat&logo=data:image/png;base64,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)](https://github.com/VirtusLab/bazel-steward) - # Bazel BSP An implementation of the [Build Server Protocol](https://github.com/build-server-protocol/build-server-protocol) for