Fix CI prebuilt ProGuard task ordering and env scoping.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-13 18:07:59 +03:00
Unverified
parent e102d12198
commit 15f514d5fb
2 changed files with 24 additions and 12 deletions
+8 -3
View File
@@ -25,7 +25,6 @@ concurrency:
env:
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx6g
FROMCHAT_PREBUILT_PROGUARD: "1"
jobs:
resolve-version:
@@ -53,6 +52,8 @@ jobs:
needs: resolve-version
runs-on: ubuntu-latest
timeout-minutes: 45
env:
FROMCHAT_PREBUILT_PROGUARD: "0"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
@@ -115,6 +116,8 @@ jobs:
windows-package:
needs: [resolve-version, desktop-proguard, windows-common]
env:
FROMCHAT_PREBUILT_PROGUARD: "1"
strategy:
fail-fast: false
matrix:
@@ -158,8 +161,6 @@ jobs:
run: |
export FROMCHAT_PACKAGING_JDK="$JAVA_HOME"
args=(
:app:desktop:createReleaseDistributable
:app:desktop:patchWindowsJpackageReleaseIcon
:app:desktop:packSetupOnly
"-PdesktopArch=${{ matrix.arch }}"
--no-daemon
@@ -177,6 +178,8 @@ jobs:
macos:
needs: [resolve-version, desktop-proguard]
env:
FROMCHAT_PREBUILT_PROGUARD: "1"
strategy:
fail-fast: false
matrix:
@@ -238,6 +241,8 @@ jobs:
linux:
needs: [resolve-version, desktop-proguard]
env:
FROMCHAT_PREBUILT_PROGUARD: "1"
strategy:
fail-fast: false
matrix:
+15 -8
View File
@@ -989,8 +989,7 @@ val patchWindowsJpackageReleaseIcon = tasks.register<Exec>("patchWindowsJpackage
group = "compose desktop"
description = "Embed branded icon into release jpackage FromChat.exe."
onlyIf { runningOnWindows }
dependsOn(ensureWindowsRustBinaries)
mustRunAfter("createReleaseDistributable")
dependsOn(ensureWindowsRustBinaries, "createReleaseDistributable")
doFirst {
val appImageDir = releaseAppImageDir.get().asFile
check(appImageDir.isDirectory) { "Missing app image at ${appImageDir.absolutePath}" }
@@ -1094,7 +1093,7 @@ tasks.register<Exec>("packSetupOnly") {
group = "compose desktop"
description = "Repack setup EXE from existing app-image + Rust (skips ProGuard)."
onlyIf { runningOnWindows }
dependsOn(ensureWindowsRustBinaries)
dependsOn(ensureWindowsRustBinaries, "createReleaseDistributable", "patchWindowsJpackageReleaseIcon")
configureWindowsPackTask(
appImageDir = releaseAppImageDir,
setupOutput = windowsSetupOutput,
@@ -1149,16 +1148,24 @@ tasks.register<Exec>("packageBetaWindows") {
}
afterEvaluate {
val exportingProguardForCi = gradle.startParameter.taskNames.any {
it.contains("exportReleaseProguardForCi")
}
tasks.matching { it.name == "proguardReleaseJars" }.configureEach {
onlyIf {
!useCiPrebuiltProguard() || !ciPrebuiltProguardDir.get().asFile.isDirectory
exportingProguardForCi ||
!useCiPrebuiltProguard() ||
!ciPrebuiltProguardDir.get().asFile.isDirectory
}
}
tasks.matching {
it.name == "createReleaseDistributable" || it.name == "createReleaseDistributableImpl"
}.configureEach {
if (useCiPrebuiltProguard()) {
dependsOn("stageCiPrebuiltProguard")
val stagePrebuilt = tasks.named("stageCiPrebuiltProguard")
tasks.matching {
it.name == "createReleaseDistributable" ||
it.name == "createReleaseDistributableImpl" ||
(it.name.startsWith("packageRelease") && it.name != "packageReleaseFromPrebuiltProguard")
}.configureEach {
dependsOn(stagePrebuilt)
}
}
tasks.matching { it.name == "createRuntimeImage" || it.name == "createReleaseRuntimeImage" }.configureEach {