diff --git a/.github/workflows/test-java-os-mix.yml b/.github/workflows/test-java-os-mix.yml index dc0f6fc8..29dbbb32 100644 --- a/.github/workflows/test-java-os-mix.yml +++ b/.github/workflows/test-java-os-mix.yml @@ -57,6 +57,19 @@ jobs: ./gradlew --version ./gradlew htmlSanityCheck --scan + - name: Execute integration test (Windows) + if: runner.os == 'Windows' + shell: pwsh + run: | + uname -a + cmd /c "echo off && gradlew.bat --version" + cmd /c "echo off && gradlew.bat info" + cmd /c "echo off && gradlew.bat integrationTestOnly --scan" + + # If we ever need to debug the file system contents + # Get-ChildItem -Recurse -File | Format-Table Name, Length, LastWriteTime + # Get-ChildItem -Recurse -File ./integration-test | Format-Table Name, Length, LastWriteTime + - name: Collect state upon failure if: failure() run: | diff --git a/build.gradle b/build.gradle index dd0661ce..39dbb2d5 100644 --- a/build.gradle +++ b/build.gradle @@ -345,8 +345,12 @@ tasks.register("integrationTestCliOnly") { workingDir INTEGRATION_TEST_DIRECTORY_CLI file(BUILD_REPORTS_DIRECTORY).mkdirs() String hscScriptFileName = "../../htmlSanityCheck-cli/${Project.DEFAULT_BUILD_DIR_NAME}/install/hsc/bin/hsc" - commandLine System.getProperty("os.name") ==~ /Windows.*/ ? "${hscScriptFileName.replace('/', '\\')}.bat" : hscScriptFileName, - "-r", BUILD_REPORTS_DIRECTORY, "../common/src/test/resources" + String params = "-r ${BUILD_REPORTS_DIRECTORY} ../common/src/test/resources" + if (System.getProperty("os.name") ==~ /Windows.*/) { + commandLine 'cmd', '/c', "echo off && ${hscScriptFileName.replace('/', '\\')}.bat ${params}" + } else { + commandLine 'sh', '-c', "${hscScriptFileName} ${params}" + } } logger.debug "Script output: ${result}" assert testIndex.exists()