forked from langchain4j/langchain4j
-
Notifications
You must be signed in to change notification settings - Fork 0
57 lines (53 loc) · 2.09 KB
/
main.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: Java CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
java_build:
strategy:
matrix:
java_version: [8, 11, 17, 21]
include:
- java_version: '8'
included_modules: '-pl !code-execution-engines/langchain4j-code-execution-engine-graalvm-polyglot,!langchain4j-cassandra,!langchain4j-infinispan,!langchain4j-neo4j,!langchain4j-opensearch,!langchain4j-azure-ai-search'
- java_version: '11'
included_modules: '-pl !code-execution-engines/langchain4j-code-execution-engine-graalvm-polyglot,!langchain4j-infinispan,!langchain4j-neo4j'
- java_version: '17'
included_modules: '-pl !code-execution-engines/langchain4j-code-execution-engine-graalvm-polyglot'
- java_version: '21'
included_modules: ''
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java_version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java_version }}
distribution: 'temurin'
cache: 'maven'
- name: Build with JDK ${{ matrix.java_version }}
run: mvn --batch-mode install -DskipITs ${{ matrix.included_modules }}
# For checking some compliance things (require a recent JDK due to plugins so in a separate step)
compliance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'
# Check we only rely on permissive licenses in the main parts of the library:
- name: License Compliance
run: mvn -P compliance org.honton.chas:license-maven-plugin:compliance
# TODO's
# - enable JDK 17 unit tests for langchain4j-code-execution-engine-graalvm-polyglot
# - setup integration tests
# - these require an openAI (and hugging face, etc) token
# - do so that they always run for commits on main
# - make the running be manually triggered for PRs (we don't want to burn through credits)