Skip to content

Merge pull request #4880 from google/mizux/julia #3333

Merge pull request #4880 from google/mizux/julia

Merge pull request #4880 from google/mizux/julia #3333

# ref: https://github.com/actions/runner-images
name: amd64 Windows CMake Java
on:
push:
branches:
- main
- v99bugfix
pull_request:
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@v5
- 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@v4
with:
key: ${{env.deps_src_key}}-${{hashFiles('CMakeLists.txt', 'cmake/**')}}
path: ${{github.workspace}}/build/_deps/*-src
- name: Cache CMake dependency build
uses: actions/cache@v4
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@v5