Run under JDK 23 (#1978)

## Issue

## Change
Run under JDK 23 This allows to catch incompatibilities with latest
released JDK earlier

Don't cancel unit tests on failure.
[Doc](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow#handling-failures)

Always run unit tests

This pull request to the `.github/workflows/main.yaml` file includes
changes to improve the build matrix and error handling for Java builds.
The most important changes include adding a new Java version to the
matrix, modifying the build strategy, and updating the conditions for
running integration tests.

Improvements to build matrix and error handling:

* Added Java 23 to the build matrix and included an `experimental` flag
for each Java version. (`.github/workflows/main.yaml`)
* Changed the `runs-on` specification to `ubuntu-latest` and added the
`continue-on-error` property based on the `experimental` flag.
(`.github/workflows/main.yaml`)
* Set `fail-fast` to `false` in the build strategy to allow all matrix
jobs to run even if one fails. (`.github/workflows/main.yaml`)

Updates to build steps and conditions:

* Removed the `-Dgib.disable=false
-Dgib.referenceBranch=__branch_before` options from the `Compile and
test` step. (`.github/workflows/main.yaml`)
* Updated the condition for running integration tests to exclude
experimental builds. (`.github/workflows/main.yaml`)

## General checklist
- [x] There are no breaking changes
- [ ] I have added unit and integration tests for my change
- [ ] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
This commit is contained in:
Konstantin Pavlov 2024-10-30 17:22:31 +02:00 committed by GitHub
parent 635e6e10f7
commit e98a2e4f62
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 4 deletions

View File

@ -27,17 +27,25 @@ on:
jobs:
java_build:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
java_version:
- 17
- 21
- 23
include:
- java_version: '17'
- java_version: 17
mvn_opts: ''
- java_version: '21'
experimental: false
- java_version: 21
mvn_opts: ''
runs-on: ubuntu-latest
experimental: false
- java_version: 23
mvn_opts: ''
experimental: true
steps:
- uses: actions/checkout@v4
with:
@ -65,7 +73,7 @@ jobs:
## - on the main branch when it is not a pull request,
## - for pull requests from the same repository
## - when triggered manually
if: (github.event_name == 'pull_request' && github.head_repo.full_name == github.repository) || (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
if: ${{ !matrix.experimental }} && (github.event_name == 'pull_request' && github.head_repo.full_name == github.repository) || (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
run: |
mvn -B -U verify \
-Dgib.disable=false -Dgib.referenceBranch=__branch_before \