Skip to content

Commit cec471f

Browse files
timefold-releasetriceo
authored andcommitted
build: release version 1.17.0
1 parent e71f179 commit cec471f

File tree

34 files changed

+141
-168
lines changed

34 files changed

+141
-168
lines changed

.github/workflows/pull_request_maven_long_running.yml

+17-5
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ jobs:
6363
"java/school-timetabling", "java/sports-league-scheduling", "java/task-assigning",
6464
"java/tournament-scheduling", "java/vehicle-routing"
6565
]
66-
java-version: [ 17 ] # Only the first supported LTS; already too many jobs here.
66+
# Only one supported LTS; already too many jobs here.
67+
# We choose 21 as Quarkus 3.17.2 has weird issues with Java 17 GraalVM,
68+
# with Java 21+ GraalVM being recommended even for Java 17 projects.
69+
# https://github.com/quarkusio/quarkus/issues/44877
70+
java-version: [ 21 ]
6771
timeout-minutes: 120
6872
steps:
6973
- name: Checkout timefold-quickstarts
@@ -118,7 +122,11 @@ jobs:
118122
strategy:
119123
matrix:
120124
module: [ "java/bed-allocation", "java/vehicle-routing"]
121-
java-version: [ 17 ] # Only the first supported LTS; already too many jobs here.
125+
# Only one supported LTS; already too many jobs here.
126+
# We choose 21 as Quarkus 3.17.2 has weird issues with Java 17 GraalVM,
127+
# with Java 21+ GraalVM being recommended even for Java 17 projects.
128+
# https://github.com/quarkusio/quarkus/issues/44877
129+
java-version: [ 21 ]
122130
timeout-minutes: 120
123131
steps:
124132
- name: Checkout timefold-quickstarts
@@ -195,7 +203,11 @@ jobs:
195203
module: [
196204
"java/spring-boot-integration"
197205
]
198-
java-version: [ 17 ] # Only the first supported LTS; already too many jobs here.
206+
# Only one supported LTS; already too many jobs here.
207+
# We choose 21 as Quarkus 3.17.2 has weird issues with Java 17 GraalVM,
208+
# with Java 21+ GraalVM being recommended even for Java 17 projects.
209+
# https://github.com/quarkusio/quarkus/issues/44877
210+
java-version: [ 21 ]
199211
timeout-minutes: 120
200212
steps:
201213
- name: Checkout timefold-quickstarts
@@ -226,8 +238,8 @@ jobs:
226238
uses: graalvm/setup-graalvm@v1
227239
with:
228240
java-version: ${{matrix.java-version}}
229-
version: 23.0.4
230-
distribution: 'liberica'
241+
distribution: 'graalvm-community'
242+
components: 'native-image'
231243
github-token: ${{ secrets.GITHUB_TOKEN }}
232244
cache: 'maven'
233245

.github/workflows/release.yml

+25-2
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ jobs:
4040
fetch-depth: 0
4141
ref: v${{ github.event.inputs.javaVersion }}
4242

43+
- name: Delete release branch (if exists)
44+
continue-on-error: true
45+
run: git push -d origin $RELEASE_BRANCH_NAME
46+
4347
- uses: actions/setup-java@v3
4448
with:
4549
java-version: '17'
@@ -108,7 +112,6 @@ jobs:
108112
git merge --squash $RELEASE_BRANCH_NAME
109113
git commit -m "build: release version ${{ github.event.inputs.javaVersion }}"
110114
git push origin $RELEASE_BRANCH_NAME-bump
111-
git branch -D $RELEASE_BRANCH_NAME
112115
gh pr create --reviewer triceo --base ${{ github.event.inputs.stableBranch }} --head $RELEASE_BRANCH_NAME-bump --title "build: release version ${{ github.event.inputs.javaVersion }}" --body-file .github/workflows/release-pr-body.md
113116
114117
- name: Put back the 999-SNAPSHOT version on the release branch
@@ -121,4 +124,24 @@ jobs:
121124
export NEW_PYTHON_VERSION="999-dev0"
122125
.github/scripts/change_versions.sh
123126
git commit -am "build: move back to version $NEW_VERSION"
124-
git push origin $RELEASE_BRANCH_NAME
127+
git push origin $RELEASE_BRANCH_NAME
128+
129+
- name: Delete version branch (if exists)
130+
continue-on-error: true
131+
run: |
132+
java_version=${{ github.event.inputs.javaVersion }}
133+
version="${java_version%.*}.x"
134+
git push -d origin $version
135+
136+
- name: Update release branch
137+
working-directory: ./timefold-quickstarts
138+
shell: bash
139+
run: |
140+
java_version=${{ github.event.inputs.javaVersion }}
141+
version="${java_version%.*}.x"
142+
git config user.name "Timefold Release Bot"
143+
git config user.email "[email protected]"
144+
git checkout $RELEASE_BRANCH_NAME
145+
git branch -m $RELEASE_BRANCH_NAME $version
146+
git push origin -u $version
147+
git push -d origin $RELEASE_BRANCH_NAME

java/bed-allocation/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.resources.plugin>3.3.1</version.resources.plugin>
@@ -191,7 +191,7 @@
191191
</plugins>
192192
</build>
193193
<properties>
194-
<quarkus.package.type>native</quarkus.package.type>
194+
<quarkus.native.enabled>true</quarkus.native.enabled>
195195
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
196196
<quarkus.profile>native</quarkus.profile>
197197
</properties>

java/conference-scheduling/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.resources.plugin>3.3.1</version.resources.plugin>
@@ -190,7 +190,7 @@
190190
</plugins>
191191
</build>
192192
<properties>
193-
<quarkus.package.type>native</quarkus.package.type>
193+
<quarkus.native.enabled>true</quarkus.native.enabled>
194194
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
195195
<quarkus.profile>native</quarkus.profile>
196196
</properties>

java/employee-scheduling/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.resources.plugin>3.3.1</version.resources.plugin>
@@ -183,7 +183,7 @@
183183
</plugins>
184184
</build>
185185
<properties>
186-
<quarkus.package.type>native</quarkus.package.type>
186+
<quarkus.native.enabled>true</quarkus.native.enabled>
187187
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
188188
<quarkus.profile>native</quarkus.profile>
189189
</properties>

java/facility-location/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.surefire.plugin>3.5.2</version.surefire.plugin>
@@ -175,7 +175,7 @@
175175
</plugins>
176176
</build>
177177
<properties>
178-
<quarkus.package.type>native</quarkus.package.type>
178+
<quarkus.native.enabled>true</quarkus.native.enabled>
179179
</properties>
180180
</profile>
181181
<profile>

java/flight-crew-scheduling/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.resources.plugin>3.3.1</version.resources.plugin>
@@ -191,7 +191,7 @@
191191
</plugins>
192192
</build>
193193
<properties>
194-
<quarkus.package.type>native</quarkus.package.type>
194+
<quarkus.native.enabled>true</quarkus.native.enabled>
195195
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
196196
<quarkus.profile>native</quarkus.profile>
197197
</properties>

java/flight-crew-scheduling/src/main/java/org/acme/flighcrewscheduling/rest/DemoDataGenerator.java

+14-15
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.List;
1111
import java.util.Map;
1212
import java.util.Random;
13+
import java.util.concurrent.atomic.AtomicInteger;
1314
import java.util.function.BiConsumer;
1415
import java.util.function.Consumer;
1516
import java.util.function.Function;
@@ -19,8 +20,6 @@
1920

2021
import jakarta.enterprise.context.ApplicationScoped;
2122

22-
import ai.timefold.solver.core.impl.util.MutableInt;
23-
2423
import org.acme.flighcrewscheduling.domain.Airport;
2524
import org.acme.flighcrewscheduling.domain.Employee;
2625
import org.acme.flighcrewscheduling.domain.Flight;
@@ -132,18 +131,18 @@ private List<Employee> generateEmployees(List<Flight> flights, List<LocalDate> d
132131
// two pilots and three attendants per airport
133132
List<Employee> employees = new ArrayList<>(flightAirports.size() * 5);
134133

135-
MutableInt count = new MutableInt();
134+
AtomicInteger count = new AtomicInteger();
136135
// Two teams per airport
137136
flightAirports.forEach(airport -> IntStream.range(0, 2).forEach(i -> {
138-
employees.add(new Employee(String.valueOf(count.increment()), nameSupplier.get(), airport, List.of(PILOT_SKILL)));
139-
employees.add(new Employee(String.valueOf(count.increment()), nameSupplier.get(), airport, List.of(PILOT_SKILL)));
137+
employees.add(new Employee(String.valueOf(count.incrementAndGet()), nameSupplier.get(), airport, List.of(PILOT_SKILL)));
138+
employees.add(new Employee(String.valueOf(count.incrementAndGet()), nameSupplier.get(), airport, List.of(PILOT_SKILL)));
140139
employees.add(
141-
new Employee(String.valueOf(count.increment()), nameSupplier.get(), airport, List.of(ATTENDANT_SKILL)));
140+
new Employee(String.valueOf(count.incrementAndGet()), nameSupplier.get(), airport, List.of(ATTENDANT_SKILL)));
142141
employees.add(
143-
new Employee(String.valueOf(count.increment()), nameSupplier.get(), airport, List.of(ATTENDANT_SKILL)));
142+
new Employee(String.valueOf(count.incrementAndGet()), nameSupplier.get(), airport, List.of(ATTENDANT_SKILL)));
144143
if (airport.getCode().equals("CNF")) {
145144
employees.add(
146-
new Employee(String.valueOf(count.increment()), nameSupplier.get(), airport, List.of(ATTENDANT_SKILL)));
145+
new Employee(String.valueOf(count.incrementAndGet()), nameSupplier.get(), airport, List.of(ATTENDANT_SKILL)));
147146
}
148147
}));
149148

@@ -247,22 +246,22 @@ private int pickRandomRouteSize(int countFlights, int maxCountFlights) {
247246
private List<FlightAssignment> generateFlightAssignments(List<Flight> flights) {
248247
// 2 pilots and 2 or 3 attendants
249248
List<FlightAssignment> flightAssignments = new ArrayList<>(flights.size() * 5);
250-
MutableInt count = new MutableInt();
249+
AtomicInteger count = new AtomicInteger();
251250
flights.forEach(flight -> {
252-
MutableInt indexSkill = new MutableInt();
251+
AtomicInteger indexSkill = new AtomicInteger();
253252
flightAssignments
254-
.add(new FlightAssignment(String.valueOf(count.increment()), flight, indexSkill.increment(), PILOT_SKILL));
253+
.add(new FlightAssignment(String.valueOf(count.incrementAndGet()), flight, indexSkill.incrementAndGet(), PILOT_SKILL));
255254
flightAssignments
256-
.add(new FlightAssignment(String.valueOf(count.increment()), flight, indexSkill.increment(), PILOT_SKILL));
255+
.add(new FlightAssignment(String.valueOf(count.incrementAndGet()), flight, indexSkill.incrementAndGet(), PILOT_SKILL));
257256
flightAssignments
258-
.add(new FlightAssignment(String.valueOf(count.increment()), flight, indexSkill.increment(),
257+
.add(new FlightAssignment(String.valueOf(count.incrementAndGet()), flight, indexSkill.incrementAndGet(),
259258
ATTENDANT_SKILL));
260259
flightAssignments
261-
.add(new FlightAssignment(String.valueOf(count.increment()), flight, indexSkill.increment(),
260+
.add(new FlightAssignment(String.valueOf(count.incrementAndGet()), flight, indexSkill.incrementAndGet(),
262261
ATTENDANT_SKILL));
263262
if (flight.getDepartureAirport().getCode().equals("CNF") || flight.getArrivalAirport().getCode().equals("CNF")) {
264263
flightAssignments
265-
.add(new FlightAssignment(String.valueOf(count.increment()), flight, indexSkill.increment(),
264+
.add(new FlightAssignment(String.valueOf(count.incrementAndGet()), flight, indexSkill.incrementAndGet(),
266265
ATTENDANT_SKILL));
267266
}
268267
});

java/food-packaging/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.surefire.plugin>3.5.2</version.surefire.plugin>
@@ -174,7 +174,7 @@
174174
</plugins>
175175
</build>
176176
<properties>
177-
<quarkus.package.type>native</quarkus.package.type>
177+
<quarkus.native.enabled>true</quarkus.native.enabled>
178178
</properties>
179179
</profile>
180180
<profile>

java/hello-world/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
id "application"
44
}
55

6-
def timefoldVersion = "1.16.0"
6+
def timefoldVersion = "1.17.0"
77
def logbackVersion = "1.5.12"
88
def junitJupiterVersion = "5.11.3"
99
def assertjVersion = "3.26.3"

java/hello-world/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313
<jar.with.dependencies.name>hello-world-run</jar.with.dependencies.name>
1414

15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616
<version.org.assertj>3.26.3</version.org.assertj>
1717
<version.org.junit.jupiter>5.11.3</version.org.junit.jupiter>
1818
<version.ch.qos.logback>1.5.12</version.ch.qos.logback>

java/maintenance-scheduling/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.resources.plugin>3.3.1</version.resources.plugin>
@@ -183,7 +183,7 @@
183183
</plugins>
184184
</build>
185185
<properties>
186-
<quarkus.package.type>native</quarkus.package.type>
186+
<quarkus.native.enabled>true</quarkus.native.enabled>
187187
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
188188
<quarkus.profile>native</quarkus.profile>
189189
</properties>

java/meeting-scheduling/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616
<version.org.apache.commons.text>1.12.0</version.org.apache.commons.text>
1717

1818
<version.compiler.plugin>3.13.0</version.compiler.plugin>
@@ -197,7 +197,7 @@
197197
</plugins>
198198
</build>
199199
<properties>
200-
<quarkus.package.type>native</quarkus.package.type>
200+
<quarkus.native.enabled>true</quarkus.native.enabled>
201201
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
202202
<quarkus.profile>native</quarkus.profile>
203203
</properties>

java/order-picking/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.surefire.plugin>3.5.2</version.surefire.plugin>
@@ -184,7 +184,7 @@
184184
</plugins>
185185
</build>
186186
<properties>
187-
<quarkus.package.type>native</quarkus.package.type>
187+
<quarkus.native.enabled>true</quarkus.native.enabled>
188188
</properties>
189189
</profile>
190190
<profile>

java/project-job-scheduling/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<maven.compiler.release>17</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313

14-
<version.io.quarkus>3.16.2</version.io.quarkus>
15-
<version.ai.timefold.solver>1.16.0</version.ai.timefold.solver>
14+
<version.io.quarkus>3.17.3</version.io.quarkus>
15+
<version.ai.timefold.solver>1.17.0</version.ai.timefold.solver>
1616

1717
<version.compiler.plugin>3.13.0</version.compiler.plugin>
1818
<version.resources.plugin>3.3.1</version.resources.plugin>
@@ -191,7 +191,7 @@
191191
</plugins>
192192
</build>
193193
<properties>
194-
<quarkus.package.type>native</quarkus.package.type>
194+
<quarkus.native.enabled>true</quarkus.native.enabled>
195195
<!-- To allow application.properties to avoid using the in-memory database for native builds. -->
196196
<quarkus.profile>native</quarkus.profile>
197197
</properties>

0 commit comments

Comments
 (0)