Skip to content

Remove specializations for Docker Engine v28 on Windows Server 2025 #884

Remove specializations for Docker Engine v28 on Windows Server 2025

Remove specializations for Docker Engine v28 on Windows Server 2025 #884

Workflow file for this run

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: NativeTest CI - GraalVM Native Image
# Only execute CI when changes involving GraalVM Reachability Metadata and nativeTest are involved. Because most Contributors don't use GraalVM CE.
on:
pull_request:
branches: [ master ]
paths:
- '.github/workflows/graalvm.yml'
- 'infra/reachability-metadata/src/**'
- 'test/native/native-image-filter/**'
- 'test/native/src/**'
workflow_dispatch:
concurrency:
group: graalvm-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
global-environment:
name: Import Global Environment
uses: ./.github/workflows/required-reusable.yml
nativetest:
if: github.repository == 'apache/shardingsphere'
needs: global-environment
name: GraalVM - GraalVM CE for JDK ${{ matrix.java-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 90
strategy:
max-parallel: 15
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'windows-latest' ]
java-version: [ '24.0.2' ]
steps:
- uses: actions/checkout@v6.0.1
- name: Free Disk Space on Ubuntu
if: matrix.os == 'ubuntu-latest'
run: ./test/native/src/test/resources/test-native/sh/free-disk-space.sh
- name: Setup Rancher Desktop without GUI on Windows Server
if: matrix.os == 'windows-latest'
run: |
./test/native/src/test/resources/test-native/ps1/config-rdctl.ps1
"PATH=$env:PATH" >> $env:GITHUB_ENV
- uses: graalvm/setup-graalvm@v1
with:
java-version: ${{ matrix.java-version }}
distribution: 'graalvm-community'
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
- uses: actions/cache@v5.0.1
with:
path: ~/.m2/repository
key: ${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX }}-maven-third-party-cache-${{ github.sha }}
restore-keys: |
${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX }}-maven-third-party-cache-
${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX }}-maven-third-party-
# TODO Remove this workaround after. The graalvm native image built with windows server is missing some GRMs for testcontainers
- name: Run test with GraalVM CE
if: matrix.os == 'windows-latest'
run: ./mvnw -PgenerateMetadata -e -T 1C clean verify
- name: Run nativeTest with GraalVM CE for ${{ matrix.java-version }}
if: matrix.os == 'ubuntu-latest'
run: ./mvnw -PnativeTestInShardingSphere -e "-DjvmArgs=-XX:MaxRAMPercentage=85.0" clean verify