From f2aff4ad5e58b76ecd6063441f74d2c146b2c63d Mon Sep 17 00:00:00 2001 From: Gerd Aschemann Date: Mon, 5 Feb 2024 10:14:17 +0100 Subject: [PATCH] Split workflows for build and test and use batch file on Windows ... --- .github/workflows/gradle-build.yml | 35 +++--------------------- .github/workflows/test-java-os-mix.yml | 38 ++++++++++++++++++++++++++ build.gradle | 2 +- 3 files changed, 43 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/test-java-os-mix.yml diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index 2d6c1d38..cdd5e448 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -2,7 +2,7 @@ name: Gradle Build and Test on: pull_request: push: - workflow_dispatch: {} + workflow_dispatch: jobs: gradle: runs-on: ubuntu-latest @@ -43,34 +43,7 @@ jobs: name: maven-repo path: build/maven-repo - test-java-os-mix: - needs: gradle - strategy: - matrix: - os-version: [ ubuntu-latest, macos-14, windows-latest ] - java-version: [ 11, 17, 21 ] - runs-on: ${{ matrix.os-version }} - steps: - - uses: actions/checkout@v3 - - name: Download Artifacts - uses: actions/download-artifact@master - with: - name: maven-repo - path: build/maven-repo - - uses: actions/setup-java@v3 + - name: Trigger Test Matrix Workflow + uses: benc-uk/workflow-dispatch@v1 with: - distribution: temurin - # Always build with JDK 8 initially - java-version: ${{ matrix.java-version }} - - name: Execute integration test (on Unixes) - if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }} - run: | - uname -a - ./gradlew --version - ./gradlew integrationTestOnly --scan - - name: Execute integration test (on Windows) - if: ${{ runner.os == 'Windows' }} - run: | - uname -a - ./gradlew --version - ./gradlew integrationTestOnly --scan + workflow: test-java-os-mix diff --git a/.github/workflows/test-java-os-mix.yml b/.github/workflows/test-java-os-mix.yml new file mode 100644 index 00000000..eebe4b52 --- /dev/null +++ b/.github/workflows/test-java-os-mix.yml @@ -0,0 +1,38 @@ +name: HTML Sanity Check Matrix Test +on: + push: + workflow_dispatch: {} + +jobs: + test-java-os-mix: + needs: gradle + strategy: + matrix: + os-version: [ ubuntu-latest, macos-14, windows-latest ] + java-version: [ 8, 11, 17, 21 ] + runs-on: ${{ matrix.os-version }} + steps: + - uses: actions/checkout@v3 + - name: Download Artifacts + uses: actions/download-artifact@master + with: + name: maven-repo + path: build/maven-repo + - uses: actions/setup-java@v3 + with: + distribution: temurin + # Always build with JDK 8 initially + java-version: ${{ matrix.java-version }} + - name: Execute integration test (on Unixes) +# if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }} + run: | + uname -a + ./gradlew --version + ./gradlew integrationTestOnly --scan +# - name: Execute integration test (on Windows) +# if: ${{ runner.os == 'Windows' }} +# run: | +# uname -a +# gradlew --version +# gradlew integrationTestOnly --scan + diff --git a/build.gradle b/build.gradle index 731f4815..526598a8 100644 --- a/build.gradle +++ b/build.gradle @@ -100,7 +100,7 @@ tasks.register("integrationTestOnly") { doLast { def result = exec { workingDir INTEGRATION_TEST_DIRECTORY - commandLine "./gradlew", "clean", "htmlSanityCheck", "-PhtmlSanityCheckVersion=${project.version}" + commandLine System.getProperty("os.name") == "Windows" ? "gradlew.bat" : "./gradlew", "clean", "htmlSanityCheck", "-PhtmlSanityCheckVersion=${project.version}" } logger.debug "Script output: $result" File integrationTestDirectory = file(INTEGRATION_TEST_DIRECTORY)