# ref: https://github.com/actions/runner-images name: amd64 Windows CMake Java on: push: branches: - main - v99bugfix workflow_dispatch: concurrency: group: ${{github.workflow}}-${{github.ref}} cancel-in-progress: true # Building using the github runner environement directly. jobs: native: strategy: matrix: cmake: [ {name: "VS2022", generator: "Visual Studio 17 2022", config: Release}, ] java: [ # see https://endoflife.date/azul-zulu {distrib: 'zulu', version: '8'}, # 2030/12 {distrib: 'zulu', version: '11'}, # 2026/09 {distrib: 'zulu', version: '17'}, # 2029/09 {distrib: 'zulu', version: '21'}, # 2031/09 # see https://endoflife.date/eclipse-temurin {distrib: 'temurin', version: '8'}, # 2026/11 {distrib: 'temurin', version: '11'}, # 2027/10 {distrib: 'temurin', version: '17'}, # 2027/10 {distrib: 'temurin', version: '21'}, # 2029/12 # see https://endoflife.date/microsoft-build-of-openjdk # microsoft jdk seems to use an older redistributable #{distrib: 'microsoft', version: '11'}, # 2027/09 #{distrib: 'microsoft', version: '17'}, # 2027/09 #{distrib: 'microsoft', version: '21'}, # 2028/09 ] fail-fast: false name: amd64•Windows•CMake(${{matrix.cmake.name}})•${{matrix.java.distrib}}-${{matrix.java.version}} runs-on: windows-latest env: deps_src_key: amd64_windows_java_deps_src deps_build_key: amd64_windows_java_deps_build_${{matrix.cmake.config}} CTEST_OUTPUT_ON_FAILURE: 1 steps: - uses: actions/checkout@v6 - uses: actions/setup-java@v5 with: distribution: ${{matrix.java.distrib}} java-version: ${{matrix.java.version}} - name: Check java run: | java -version mvn --version # CONFIGURING CACHES - name: Cache CMake dependency source code uses: actions/cache@v5 with: key: ${{env.deps_src_key}}-${{hashFiles('CMakeLists.txt', 'cmake/**')}} path: ${{github.workspace}}/build/_deps/*-src - name: Cache CMake dependency build uses: actions/cache@v5 with: key: ${{env.deps_build_key}}-${{hashFiles('CMakeLists.txt', 'cmake/**')}} path: | ${{github.workspace}}/build/_deps/*-build ${{github.workspace}}/build/_deps/*-subbuild - name: Check CMake run: | cmake --version cmake -G || true - name: Configure run: > cmake -S. -Bbuild -G "${{matrix.cmake.generator}}" -DCMAKE_CONFIGURATION_TYPES=${{matrix.cmake.config}} -DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF -DBUILD_JAVA=ON - name: Build run: > cmake --build build --config ${{matrix.cmake.config}} --target ALL_BUILD -v -j2 - name: Test run: > cmake --build build --config ${{matrix.cmake.config}} --target RUN_TESTS -v - name: Install run: > cmake --build build --config ${{matrix.cmake.config}} --target INSTALL -v amd64_windows_cmake_java: runs-on: ubuntu-latest needs: native steps: - uses: actions/checkout@v6