11# Default image for linux builds
22# Using core instead of base to get access to ASAN from clang.
3- image : objectboxio/buildenv-core:2023-07-28
3+ image : objectboxio/buildenv-core:2023-07-28 # Includes JDK 17.0.8
44
55# Assumes these environment variables are configured in GitLab CI/CD Settings:
66# - OBX_READ_PACKAGES_TOKEN
@@ -45,7 +45,10 @@ workflow:
4545
4646test :
4747 stage : test
48- tags : [ docker, linux, x64 ]
48+ tags :
49+ - docker
50+ - linux # Select Docker host that can run the used Linux image
51+ - x64
4952 variables :
5053 # Image defaults to POSIX (ASCII), set a compatible locale so UTF-8 tests that interact with the file system work.
5154 # Check with 'locale -a' for available locales.
@@ -85,19 +88,27 @@ test:
8588test-windows :
8689 extends : .test-template
8790 needs : ["test"]
88- tags : [ windows ]
91+ tags :
92+ - windows-jdk
93+ - x64
8994 script : ./gradlew $GITLAB_REPO_ARGS $VERSION_ARGS clean build
9095
9196test-macos :
9297 extends : .test-template
9398 needs : ["test"]
94- tags : [mac11+, x64]
99+ tags :
100+ - mac
101+ - x64
102+ - jdk
95103 script : ./gradlew $GITLAB_REPO_ARGS $VERSION_ARGS clean build
96104
97105# Address sanitizer is only available on Linux runners (see script).
98106.test-asan-template :
99107 extends : .test-template
100- tags : [ docker, linux, x64 ]
108+ tags :
109+ - docker
110+ - linux # Select Docker host that can run the used Linux image
111+ - x64
101112 variables :
102113 # Image defaults to POSIX (ASCII), set a compatible locale so UTF-8 tests that interact with the file system work.
103114 # Check with 'locale -a' for available locales.
@@ -124,7 +135,9 @@ test-jdk-11:
124135test-jdk-x86 :
125136 extends : .test-template
126137 needs : ["test-windows"]
127- tags : [ windows ]
138+ tags :
139+ - windows-jdk
140+ - x64
128141 variables :
129142 # TEST_WITH_JAVA_X86 makes objectbox-java-test use 32-bit java executable and therefore
130143 # 32-bit ObjectBox to run tests (see build.gradle file).
@@ -135,7 +148,10 @@ test-jdk-x86:
135148# Publish Maven artifacts to internal Maven repo
136149publish-maven-internal :
137150 stage : publish-maven-internal
138- tags : [ docker, x64 ]
151+ tags :
152+ - docker
153+ - linux # Select Docker host that can run the used Linux image
154+ - x64
139155 rules :
140156 # Not for main branch, doing so may duplicate release artifacts (uploaded from publish branch)
141157 - if : $CI_COMMIT_BRANCH == "main"
@@ -154,7 +170,10 @@ publish-maven-internal:
154170# Publish Maven artifacts to public Maven repo at Central
155171publish-maven-central :
156172 stage : publish-maven-central
157- tags : [ docker, x64 ]
173+ tags :
174+ - docker
175+ - linux # Select Docker host that can run the used Linux image
176+ - x64
158177 rules :
159178 # Only on publish branch, only if no previous stages failed
160179 - if : $CI_COMMIT_BRANCH == "publish"
@@ -172,7 +191,10 @@ publish-maven-central:
172191# Create Java API docs archive
173192package-api-docs :
174193 stage : package-api-docs
175- tags : [ docker, x64 ]
194+ tags :
195+ - docker
196+ - linux # Select Docker host that can run the used Linux image
197+ - x64
176198 rules :
177199 # Only on publish branch, only if no previous stages failed
178200 - if : $CI_COMMIT_BRANCH == "publish"
0 commit comments