Skip to content

Commit

Permalink
Update the CI builds to run the in-process embedding models native in…
Browse files Browse the repository at this point in the history
…tegration tests

- Refactor the in-process embedding models integration tests to run in the native executable
- Update the PR and _main_ CI builds to run with more Java versions
- Do not skip the in-process embedding models integration tests in the PR build
  • Loading branch information
cescoffier committed Oct 2, 2024
1 parent 84395c1 commit ca5e2e6
Show file tree
Hide file tree
Showing 34 changed files with 64 additions and 101 deletions.
35 changes: 10 additions & 25 deletions .github/workflows/build-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,21 @@ defaults:
shell: bash

jobs:
# Build the project, no native tests.
build-and-test-jvm:
name: Build on ${{ matrix.os }} - ${{ matrix.java }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java: [17]
runs-on: ${{ matrix.os }}
name: Main Build
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}

steps:
- name: Prepare git
run: git config --global core.autocrlf false
if: startsWith(matrix.os, 'windows')

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up JDK ${{ matrix.java }}
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.java }}
java-version: 17
cache: 'maven'

- name: Build with Maven
Expand All @@ -65,33 +57,27 @@ jobs:
run: |
cd integration-tests
# skip RAG module as it doesn't have any native-compatible tests now
# skip 'embed' modules (with in-process embeddings) and others that don't work in native
# FIXME: reenable embedding modules, see https://github.com/quarkiverse/quarkus-langchain4j/issues/394
MATRIX='{"testModule":'$( \
find . -mindepth 2 -maxdepth 2 -type f -name 'pom.xml' -exec dirname {} \; \
| sed 's|^\./||' \
| sort -u \
| grep -v rag \
| grep -v embed \
| grep -v jlama \
| jq -R -s -c 'split("\n")[:-1]' \
)'}'
echo "matrix=$MATRIX" >> $GITHUB_OUTPUT
# Test the project with different JDKs.
test-jvm-alt:
name: Test on ${{ matrix.os }} - ${{ matrix.java }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java: [21]
java: [21, 22, 23]
name: Test on ${{ matrix.os }} - ${{ matrix.java }}
runs-on: ${{ matrix.os }}
steps:
- name: Prepare git
run: git config --global core.autocrlf false
if: startsWith(matrix.os, 'windows')

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
Expand All @@ -116,7 +102,6 @@ jobs:
runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v4

- name: Set up JDK 17
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,9 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
java: [17, 21]
java: [17, 21, 22, 23]
runs-on: ${{ matrix.os }}
steps:
- name: Prepare git
run: git config --global core.autocrlf false
if: startsWith(matrix.os, 'windows')

- uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,14 @@

<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<version>999-SNAPSHOT</version>
</parent>

<artifactId>quarkus-langchain4j-integration-test-embed-all-minilm-l6-v2-q</artifactId>
<name>Quarkus LangChain4j - Integration Tests - embeddings-all-minilm-l6-v2-q</name>

<dependencies>
<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-parsers-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-core</artifactId>
Expand All @@ -27,12 +22,6 @@
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings-all-minilm-l6-v2-q</artifactId>
<version>${langchain4j-embeddings.version}</version>
<exclusions>
<exclusion>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<version>999-SNAPSHOT</version>
</parent>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,24 @@

<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<version>999-SNAPSHOT</version>
</parent>

<artifactId>quarkus-langchain4j-integration-test-embed-bge-small-en-q</artifactId>
<name>Quarkus LangChain4j - Integration Tests - embeddings-bge-small-en-q</name>

<dependencies>
<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-parsers-base</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings-bge-small-en-q</artifactId>
<version>${langchain4j-embeddings.version}</version>
<exclusions>
<exclusion>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-core</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,24 @@

<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<version>999-SNAPSHOT</version>
</parent>

<artifactId>quarkus-langchain4j-integration-test-embed-bge-small-en</artifactId>
<name>Quarkus LangChain4j - Integration Tests - embeddings-bge-small-en</name>

<dependencies>
<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-parsers-base</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings-bge-small-en</artifactId>
<version>${langchain4j-embeddings.version}</version>
<exclusions>
<exclusion>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-core</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,24 @@

<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<version>999-SNAPSHOT</version>
</parent>

<artifactId>quarkus-langchain4j-integration-test-embed-e5-small-v2-q</artifactId>
<name>Quarkus LangChain4j - Integration Tests - embeddings-e5-small-v2-q</name>

<dependencies>
<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-parsers-base</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings-e5-small-v2-q</artifactId>
<version>${langchain4j-embeddings.version}</version>
<exclusions>
<exclusion>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-core</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,24 @@

<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<version>999-SNAPSHOT</version>
</parent>

<artifactId>quarkus-langchain4j-integration-test-embed-e5-small-v2</artifactId>
<name>Quarkus LangChain4j - Integration Tests - embeddings-e5-small-v2</name>

<dependencies>
<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-parsers-base</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings-e5-small-v2</artifactId>
<version>${langchain4j-embeddings.version}</version>
<exclusions>
<exclusion>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-core</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
Expand Down
22 changes: 22 additions & 0 deletions integration-tests/in-process-embedding-models/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.quarkiverse.langchain4j</groupId>
<artifactId>quarkus-langchain4j-integration-tests-parent</artifactId>
<version>999-SNAPSHOT</version>
</parent>
<artifactId>quarkus-langchain4j-integration-tests-in-process-embedding-models</artifactId>
<name>Quarkus LangChain4j - Integration Tests - In Process Embedding Models</name>
<packaging>pom</packaging>

<modules>
<module>embed-all-minilm-l6-v2-q</module>
<module>embed-all-minilm-l6-v2</module>
<module>embed-bge-small-en-q</module>
<module>embed-bge-small-en</module>
<module>embed-e5-small-v2-q</module>
<module>embed-e5-small-v2</module>
</modules>

</project>
7 changes: 1 addition & 6 deletions integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,7 @@
<module>mistralai</module>
<module>devui</module>
<module>devui-multiple-embedding-models</module>
<module>embed-all-minilm-l6-v2-q</module>
<module>embed-all-minilm-l6-v2</module>
<module>embed-bge-small-en-q</module>
<module>embed-bge-small-en</module>
<module>embed-e5-small-v2-q</module>
<module>embed-e5-small-v2</module>
<module>in-process-embedding-models</module>
<module>rag</module>
<module>rag-pgvector</module>
<module>rag-pgvector-flyway</module>
Expand Down

0 comments on commit ca5e2e6

Please sign in to comment.