Skip to content

Commit 8f3c488

Browse files
committed
disable cross-compilation on Windows CI
1 parent b7103e9 commit 8f3c488

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

.github/workflows/ci.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ jobs:
138138
submodules: true
139139
- name: Setup build environment
140140
uses: ./.github/actions/setup-build
141-
- name: Set up QEMU
142-
uses: docker/setup-qemu-action@v3
143141

142+
# - name: Set up QEMU
143+
# uses: docker/setup-qemu-action@v3
144144

145145
# - name: Install Docker
146146
# run: |
@@ -172,8 +172,7 @@ jobs:
172172

173173
- name: Build and Test ${{ env.PACKAGE_NAME }}
174174
run: |
175-
# ./gradlew build -Paws.sdk.kotlin.crt.disableCrossCompile=mingw_x64
176-
./gradlew build
175+
./gradlew build -Paws.sdk.kotlin.crt.disableCrossCompile=mingw_x64
177176
- name: Save Test Reports
178177
if: failure()
179178
uses: actions/upload-artifact@v4

build-support/src/main/kotlin/aws/sdk/kotlin/gradle/crt/CMakeTasks.kt

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -220,25 +220,31 @@ private val requiresExplicitBash = setOf(
220220
)
221221

222222
private fun runCmake(project: Project, target: KotlinNativeTarget, cmakeArgs: List<String>) {
223+
val disableCrossCompile = (project.properties["aws.sdk.kotlin.crt.disableCrossCompile"] as? String ?: "")
224+
.split(',')
225+
.map { it.trim() }
226+
.toSet()
227+
228+
val useContainer = target.konanTarget in containerCompileTargets && target.konanTarget.name !in disableCrossCompile
229+
223230
project.exec {
224231
workingDir(project.rootDir)
225232
val exeArgs = cmakeArgs.toMutableList()
226-
val exeName = when {
227-
target.konanTarget in containerCompileTargets -> {
228-
// cross compiling via dockcross - set the docker exe to cmake
229-
val containerScriptArgs = listOf("--args", "--pull=missing", "--", "cmake")
230-
exeArgs.addAll(0, containerScriptArgs)
231-
val script = "dockcross-" + target.konanTarget.name.replace("_", "-")
232-
validateCrossCompileScriptsAvailable(project, script)
233-
234-
if (target.konanTarget in requiresExplicitBash) {
235-
exeArgs.add(0, "./$script")
236-
"bash"
237-
} else {
238-
"./$script"
239-
}
233+
val exeName = if (useContainer) {
234+
// cross compiling via dockcross - set the docker exe to cmake
235+
val containerScriptArgs = listOf("--args", "--pull=missing", "--", "cmake")
236+
exeArgs.addAll(0, containerScriptArgs)
237+
val script = "dockcross-" + target.konanTarget.name.replace("_", "-")
238+
validateCrossCompileScriptsAvailable(project, script)
239+
240+
if (target.konanTarget in requiresExplicitBash) {
241+
exeArgs.add(0, "./$script")
242+
"bash"
243+
} else {
244+
"./$script"
240245
}
241-
else -> "cmake"
246+
} else {
247+
"cmake"
242248
}
243249

244250
project.logger.info("$exeName ${exeArgs.joinToString(separator = " ")}")

0 commit comments

Comments
 (0)