diff --git a/build/src/OpenSourceCommunityInstallersBuildTarget.kt b/build/src/OpenSourceCommunityInstallersBuildTarget.kt index 2eea1e752b2e..4cde0a2d50a2 100644 --- a/build/src/OpenSourceCommunityInstallersBuildTarget.kt +++ b/build/src/OpenSourceCommunityInstallersBuildTarget.kt @@ -6,9 +6,21 @@ import org.jetbrains.intellij.build.* import org.jetbrains.intellij.build.impl.buildDistributions import org.jetbrains.intellij.build.telemetry.TraceManager.spanBuilder import org.jetbrains.intellij.build.telemetry.use +import kotlin.collections.plus @ApiStatus.Internal object OpenSourceCommunityInstallersBuildTarget { + /** + * The steps which are excessive because the results're never published from .github/workflows/IntelliJ_IDEA.yml. + * Also, skipping them allows sparing GitHub runner's disk space. + */ + private val BUILD_STEPS_DISABLED_FOR_GITHUB_ACTIONS: Set = setOf( + BuildOptions.WINDOWS_ZIP_STEP, + BuildOptions.CROSS_PLATFORM_DISTRIBUTION_STEP, + BuildOptions.SOURCES_ARCHIVE_STEP, + BuildOptions.ARCHIVE_PLUGINS, + ) + val OPTIONS: BuildOptions = BuildOptions().apply { // do not bother external users about clean/incremental // just remove out/ directory for clean build @@ -16,11 +28,6 @@ object OpenSourceCommunityInstallersBuildTarget { useCompiledClassesFromProjectOutput = false buildStepsToSkip += BuildOptions.MAC_SIGN_STEP buildStepsToSkip += BuildOptions.WIN_SIGN_STEP - // never published from .github/workflows/IntelliJ_IDEA.yml - buildStepsToSkip += BuildOptions.WINDOWS_ZIP_STEP - buildStepsToSkip += BuildOptions.CROSS_PLATFORM_DISTRIBUTION_STEP - buildStepsToSkip += BuildOptions.SOURCES_ARCHIVE_STEP - buildStepsToSkip += BuildOptions.ARCHIVE_PLUGINS if (OsFamily.currentOs == OsFamily.MACOS) { // generally not needed; doesn't work well on build agents buildStepsToSkip += BuildOptions.WINDOWS_EXE_INSTALLER_STEP @@ -30,7 +37,7 @@ object OpenSourceCommunityInstallersBuildTarget { @JvmStatic fun main(args: Array) { runBlocking(Dispatchers.Default) { - val context = createCommunityBuildContext(OPTIONS) + val context = createCommunityBuildContext(OPTIONS.copy(buildStepsToSkip = OPTIONS.buildStepsToSkip + BUILD_STEPS_DISABLED_FOR_GITHUB_ACTIONS)) CompilationTasks.create(context).compileModules(moduleNames = null, includingTestsInModules = listOf("intellij.platform.jps.build.tests")) buildDistributions(context) spanBuilder("build standalone JPS").use { diff --git a/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt b/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt index 1122c989526e..016ff635af59 100644 --- a/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt +++ b/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt @@ -31,8 +31,6 @@ class IdeaCommunityBuildTest { it.buildStepsToSkip = OpenSourceCommunityInstallersBuildTarget.OPTIONS.buildStepsToSkip + // no need to publish TeamCity artifacts from a test BuildOptions.TEAMCITY_ARTIFACTS_PUBLICATION_STEP - // this step is disabled for all other build tests - it.buildStepsToSkip -= BuildOptions.CROSS_PLATFORM_DISTRIBUTION_STEP } }