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