Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ variables:
PROJECT_PATH: "sosy-lab/software/java-smt"
GH_REF: "github.com/sosy-lab/java-smt"
# Version of https://gitlab.com/sosy-lab/software/refaster/ to use
REFASTER_REPO_REVISION: 31cd8ffc4966957e156665dbba76679ade5bb5c9
REFASTER_REPO_REVISION: 26c8309d1023e4dfcb0e8d24dcf7ec12e621314e
# Needs to be synchronized with Error Prone version in lib/ivy.xml
REFASTER_VERSION: 2.21.1
REFASTER_VERSION: 2.41.0
21 changes: 15 additions & 6 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
# an API wrapper for a collection of SMT solvers:
# https://github.com/sosy-lab/java-smt
#
# SPDX-FileCopyrightText: 2020 Dirk Beyer <https://www.sosy-lab.org>
# SPDX-FileCopyrightText: 2025 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0

eclipse.preferences.version=1
org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
org.eclipse.jdt.core.codeComplete.argumentPrefixes=p
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
org.eclipse.jdt.core.codeComplete.fieldPrefixes=
Expand All @@ -23,9 +24,12 @@ org.eclipse.jdt.core.compiler.annotation.nonnull=javax.annotation.Nonnull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.sosy_lab.common.annotations.FieldsAreNonnullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning
org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning
org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
Expand All @@ -36,6 +40,7 @@ org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.doc.comment.support=enabled
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
Expand All @@ -57,8 +62,10 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
Expand Down Expand Up @@ -88,14 +95,14 @@ org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullReference=error
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
Expand All @@ -108,14 +115,15 @@ org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=ignore
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=info
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
Expand All @@ -128,9 +136,10 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=info
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLambdaParameter=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
Expand All @@ -139,7 +148,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=info
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=enabled
org.eclipse.jdt.core.compiler.release=enabled
Expand Down
15 changes: 12 additions & 3 deletions build/build-compile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ SPDX-License-Identifier: Apache-2.0
<exclude name="**/*.java" />
</patternset>

<!-- error-prone config from https://errorprone.info/docs/installation#jdk-16 -->
<!-- error-prone config from https://errorprone.info/docs/installation#ant -->
<property name="errorprone.options.required" value="
-XDcompilePolicy=simple
--should-stop=ifError=FLOW
-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
Expand All @@ -55,6 +56,11 @@ SPDX-License-Identifier: Apache-2.0
<javaversion atleast="21"/>
</condition>

<!-- Current versions of Error Prone do not support running on Java 11 anymore. -->
<condition property="errorprone.disable">
<javaversion exactly="11"/>
</condition>

<!-- We use error-prone as the compiler, cf. http://errorprone.info/ -->
<target name="build-project" unless="skipBuild" depends="build-dependencies">
<depend srcdir="${source.dir}" destdir="${class.dir}"/>
Expand All @@ -74,7 +80,7 @@ SPDX-License-Identifier: Apache-2.0
<src path="${source.dir}"/>
<classpath refid="classpath"/>
<compilerarg value="-Xlint"/>
<compilerarg value="-Xlint:-fallthrough"/> <!-- checked by error-prone, too, and javac does not recognize $FALL-THROUGH$ -->
<compilerarg value="-Xlint:-fallthrough"/> <!-- checked by error-prone, too, and javac does not recognized $FALL-THROUGH$ -->
<compilerarg value="-Xlint:-processing"/>
<compilerarg value="-Xlint:-options"/> <!-- suppress warning about bootclasspath on newer JDK -->
<compilerarg value="-Xlint:-this-escape" if:set="java21"/> <!-- false alarm for every use of configuration injection -->
Expand Down Expand Up @@ -130,11 +136,14 @@ SPDX-License-Identifier: Apache-2.0
<mkdir dir="${source.generated.dir}"/>

<copy file=".settings/org.eclipse.jdt.core.prefs" tofile="${ivy.lib.dir}/build/org.eclipse.jdt.core.prefs">
<!-- Convert all compiler warnings to errors. -->
<!-- Convert all compiler warnings to errors and ignore info messages to not clutter the output. -->
<filterchain>
<replacetokens begintoken="=" endtoken="g">
<token key="warnin" value="=error"/>
</replacetokens>
<replacetokens begintoken="=" endtoken="o">
<token key="inf" value="=ignore"/>
</replacetokens>
</filterchain>
</copy>

Expand Down
2 changes: 1 addition & 1 deletion build/build-documentation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ SPDX-License-Identifier: Apache-2.0

<classpath refid="classpath"/>

<!-- "-v" is an optional param for verbose output of OptionCollector -->
<!-- "-v" is a optional param for verbose output of OptionCollector -->
<!-- <arg value="-v"/> -->
</java>
<echo message="Options collected." level="info"/>
Expand Down
2 changes: 1 addition & 1 deletion build/build-ivy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ SPDX-License-Identifier: Apache-2.0
</condition>
<property name="ivy.cache.dir" location="${tmp.ivy.cache.dir}" />

<!-- If necessary, download Ivy from website so that it does not need to be installed. -->
<!-- If necessary, download Ivy from web site so that it does not need to be installed. -->
<target name="bootstrap-ivy" unless="ivy.jar.present">
<mkdir dir="${ivy.jar.dir}"/>
<echo message="Downloading ivy..."/>
Expand Down
6 changes: 3 additions & 3 deletions build/gitlab-ci.Dockerfile.jdk-11
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
#
# SPDX-License-Identifier: Apache-2.0

# This is a Docker image for running the tests.
# This is a container image for running the tests.
# It should be pushed to registry.gitlab.com/sosy-lab/software/java-smt/test
# and will be used by CI as declared in .gitlab-ci.yml.
#
# Commands for updating the image:
# docker build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-11 - < build/gitlab-ci.Dockerfile.jdk-11
# docker push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-11
# podman build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-11 - < build/gitlab-ci.Dockerfile.jdk-11
# podman push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-11

FROM ubuntu:20.04

Expand Down
6 changes: 3 additions & 3 deletions build/gitlab-ci.Dockerfile.jdk-17
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
#
# SPDX-License-Identifier: Apache-2.0

# This is a Docker image for running the tests.
# This is a container image for running the tests.
# It should be pushed to registry.gitlab.com/sosy-lab/software/java-smt/test
# and will be used by CI as declared in .gitlab-ci.yml.
#
# Commands for updating the image:
# docker build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-17 - < build/gitlab-ci.Dockerfile.jdk-17
# docker push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-17
# podman build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-17 - < build/gitlab-ci.Dockerfile.jdk-17
# podman push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-17

FROM ubuntu:20.04

Expand Down
6 changes: 3 additions & 3 deletions build/gitlab-ci.Dockerfile.jdk-21
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
#
# SPDX-License-Identifier: Apache-2.0

# This is a Docker image for running the tests.
# This is a container image for running the tests.
# It should be pushed to registry.gitlab.com/sosy-lab/software/java-smt/test
# and will be used by CI as declared in .gitlab-ci.yml.
#
# Commands for updating the image:
# docker build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-21 - < build/gitlab-ci.Dockerfile.jdk-21
# docker push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-21
# podman build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-21 - < build/gitlab-ci.Dockerfile.jdk-21
# podman push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-21

FROM ubuntu:20.04

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@
#
# SPDX-License-Identifier: Apache-2.0

# This is a Docker image for running the tests.
# This is a container image for running the tests.
# It should be pushed to registry.gitlab.com/sosy-lab/software/java-smt/test
# and will be used by CI as declared in .gitlab-ci.yml.
#
# Commands for updating the image:
# docker build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-23 - < build/gitlab-ci.Dockerfile.jdk-23
# docker push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-23
# podman build --pull -t registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-24 - < build/gitlab-ci.Dockerfile.jdk-24
# podman push registry.gitlab.com/sosy-lab/software/java-smt/test:jdk-24

# Older Ubuntu versions currently do not have GLIC_2.34 and Java 23
FROM ubuntu:24.10
# LTS versions currently do not have Java 24
FROM ubuntu:25.04

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
Expand All @@ -25,9 +25,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
git \
jq \
openjdk-23-jdk-headless \
openjdk-24-jdk-headless \
wget \
&& rm -rf /var/lib/apt/lists/*

ENV LANG C.UTF-8

RUN apt-get update && apt-get install -y \
libgomp1
52 changes: 27 additions & 25 deletions build/gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ build-dependencies:
build:jdk-11: { extends: .build, image: "${CI_REGISTRY_IMAGE}/test:jdk-11" }
build:jdk-17: { extends: .build, image: "${CI_REGISTRY_IMAGE}/test:jdk-17" }
build:jdk-21: { extends: .build, image: "${CI_REGISTRY_IMAGE}/test:jdk-21" }
build:jdk-23: { extends: .build, image: "${CI_REGISTRY_IMAGE}/test:jdk-23" }
build:jdk-24: { extends: .build, image: "${CI_REGISTRY_IMAGE}/test:jdk-24" }

# For checks that need the binaries
.binary_check:
Expand All @@ -78,14 +78,16 @@ build:jdk-23: { extends: .build, image: "${CI_REGISTRY_IMAGE}/test:jdk-23" }

build-project-ecj:jdk-17: {extends: .build-project-ecj, image: "${CI_REGISTRY_IMAGE}/test:jdk-17" }
build-project-ecj:jdk-21: {extends: .build-project-ecj, image: "${CI_REGISTRY_IMAGE}/test:jdk-21" }
build-project-ecj:jdk-23: {extends: .build-project-ecj, image: "${CI_REGISTRY_IMAGE}/test:jdk-23" }
build-project-ecj:jdk-24: {extends: .build-project-ecj, image: "${CI_REGISTRY_IMAGE}/test:jdk-24" }

check-format:
extends: .source_check
image: ${CI_REGISTRY_IMAGE}/test:jdk-17
script: "ant $ANT_PROPS_CHECKS format-source && git diff -s --exit-code"

checkstyle:
extends: .source_check
image: ${CI_REGISTRY_IMAGE}/test:jdk-17
script:
- "ant $ANT_PROPS_CHECKS checkstyle"
- "ant $ANT_PROPS_CHECKS run-checkstyle -Dcheckstyle.output=plain && cat Checkstyle*.xml && test $(cat Checkstyle*xml | grep -vic audit) -eq 0"
Expand Down Expand Up @@ -154,10 +156,10 @@ unit-tests:x86_64:jdk-21:
extends: .unit-tests
needs: [ build-dependencies, build:jdk-21 ]
image: "${CI_REGISTRY_IMAGE}/test:jdk-21"
unit-tests:x86_64:jdk-23:
unit-tests:x86_64:jdk-24:
extends: .unit-tests
needs: [ build-dependencies, build:jdk-23 ]
image: "${CI_REGISTRY_IMAGE}/test:jdk-23"
needs: [ build-dependencies, build:jdk-24 ]
image: "${CI_REGISTRY_IMAGE}/test:jdk-24"

unit-tests:arm64:jdk-11:
extends: .unit-tests-quick
Expand All @@ -171,14 +173,14 @@ unit-tests:arm64:jdk-21:
extends: .unit-tests-quick
needs: [ build-dependencies, build:jdk-21 ]
image: { name: "${CI_REGISTRY_IMAGE}/test:jdk-21-arm64", docker: { platform: linux/arm64 } }
unit-tests:arm64:jdk-23:
unit-tests:arm64:jdk-24:
extends: .unit-tests-quick
needs: [ build-dependencies, build:jdk-23 ]
image: { name: "${CI_REGISTRY_IMAGE}/test:jdk-23-arm64", docker: { platform: linux/arm64 } }
needs: [ build-dependencies, build:jdk-24 ]
image: { name: "${CI_REGISTRY_IMAGE}/test:jdk-24-arm64", docker: { platform: linux/arm64 } }

refaster:
extends: .source_check
image: ${CI_REGISTRY_IMAGE}/test:jdk-11
image: ${CI_REGISTRY_IMAGE}/test:jdk-17
before_script:
- 'test -d refaster || git clone https://gitlab.com/sosy-lab/software/refaster.git'
- 'cd refaster'
Expand All @@ -199,10 +201,8 @@ refaster:
- "error-prone.patch"
- "rule.refaster"
when: on_failure
except:
variables:
- $REFASTER_REPO_REVISION == null # required for job
- $REFASTER_VERSION == null # required for job
rules:
- if: $REFASTER_REPO_REVISION != null && $REFASTER_VERSION != null # required for job


# check license declarations etc.
Expand All @@ -223,13 +223,15 @@ deploy-gh-pages:
- build:jdk-11
- javadoc
environment: deploy/gh-pages
only:
variables:
- $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # only on default branch
- $CI_PROJECT_PATH == $PROJECT_PATH # not on forks
except:
variables:
- $GH_TOKEN == null # required for job
rules:
# run only if:
# - on default branch
# - not on a fork,
# - GH_TOKEN is present (required for job)
- if: >
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
&& $CI_PROJECT_PATH == $PROJECT_PATH
&& $GH_TOKEN != null


# Build container images
Expand All @@ -247,9 +249,9 @@ deploy-gh-pages:
- mkdir -p /root/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --dockerfile $CI_PROJECT_DIR/$DOCKERFILE --destination $CI_REGISTRY_IMAGE/$IMAGE $EXTRA_ARGS
only:
- schedules
- web
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_PIPELINE_SOURCE == "web"

.build-docker:arm64:
extends: .build-docker
Expand All @@ -262,9 +264,9 @@ deploy-gh-pages:
build-docker:x86_64:jdk-11: { extends: .build-docker, variables: { JDK_VERSION: jdk-11 } }
build-docker:x86_64:jdk-17: { extends: .build-docker, variables: { JDK_VERSION: jdk-17 } }
build-docker:x86_64:jdk-21: { extends: .build-docker, variables: { JDK_VERSION: jdk-21 } }
build-docker:x86_64:jdk-23: { extends: .build-docker, variables: { JDK_VERSION: jdk-23 } }
build-docker:x86_64:jdk-24: { extends: .build-docker, variables: { JDK_VERSION: jdk-24 } }

build-docker:arm64:jdk-11: { extends: .build-docker:arm64, variables: { JDK_VERSION: jdk-11 } }
build-docker:arm64:jdk-17: { extends: .build-docker:arm64, variables: { JDK_VERSION: jdk-17 } }
build-docker:arm64:jdk-21: { extends: .build-docker:arm64, variables: { JDK_VERSION: jdk-21 } }
build-docker:arm64:jdk-23: { extends: .build-docker:arm64, variables: { JDK_VERSION: jdk-23 } }
build-docker:arm64:jdk-24: { extends: .build-docker:arm64, variables: { JDK_VERSION: jdk-24 } }
Loading