Skip to content

Commit 1febf05

Browse files
committed
Github actions fix
1 parent 8949d2b commit 1febf05

12 files changed

Lines changed: 47 additions & 3 deletions

.github/workflows/ci.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ jobs:
2424

2525
- name: Setup Gradle
2626
uses: gradle/actions/setup-gradle@v4
27+
with:
28+
gradle-version: '8.13'
2729

2830
- name: Build
29-
run: ./gradlew build -x test
31+
run: gradle build -x test
3032

3133
- name: Test
32-
run: ./gradlew test
34+
run: gradle test

build.gradle.kts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,19 @@ kotlin {
2222
}
2323

2424
tasks.test {
25-
useJUnitPlatform()
25+
useJUnitPlatform {
26+
excludeTags("live-llm")
27+
}
28+
}
29+
30+
tasks.register<Test>("integrationTest") {
31+
description = "Runs integration tests that require a live LLM (Ollama)"
32+
group = "verification"
33+
useJUnitPlatform {
34+
includeTags("live-llm")
35+
}
36+
classpath = sourceSets.test.get().runtimeClasspath
37+
testClassesDirs = sourceSets.test.get().output.classesDirs
2638
}
2739

2840
java {

src/test/kotlin/agents_engine/composition/branch/BranchAgenticIntegrationTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import agents_engine.core.agent
55
import agents_engine.model.LlmResponse
66
import agents_engine.model.ModelClient
77
import agents_engine.model.ToolCall
8+
import org.junit.jupiter.api.Tag
89
import kotlin.test.Test
910
import kotlin.test.assertEquals
1011
import kotlin.test.assertTrue
@@ -238,6 +239,7 @@ class BranchAgenticIntegrationTest {
238239

239240
// --- Real LLM integration ---
240241

242+
@Tag("live-llm")
241243
@Test
242244
fun `branch with real LLM classifier`() {
243245
val chosen = mutableListOf<String>()
@@ -283,6 +285,7 @@ class BranchAgenticIntegrationTest {
283285
data class Edible(val item: String) : Edibility
284286
data class NotEdible(val item: String) : Edibility
285287

288+
@Tag("live-llm")
286289
@Test
287290
fun `edible or not branching pipeline with real LLM`() {
288291
val words = listOf("wood", "apple", "rock", "scissors", "tomato", "bread")

src/test/kotlin/agents_engine/composition/loop/LoopAgenticIntegrationTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import agents_engine.core.agent
55
import agents_engine.model.LlmResponse
66
import agents_engine.model.ModelClient
77
import agents_engine.model.ToolCall
8+
import org.junit.jupiter.api.Tag
89
import kotlin.test.Test
910
import kotlin.test.assertEquals
1011
import kotlin.test.assertTrue
@@ -194,6 +195,7 @@ class LoopAgenticIntegrationTest {
194195

195196
// --- Real LLM ---
196197

198+
@Tag("live-llm")
197199
@Test
198200
fun `iterative refinement loop with real LLM`() {
199201
val iterations = mutableListOf<String>()

src/test/kotlin/agents_engine/composition/parallel/ParallelExecutionTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import agents_engine.core.agent
55
import agents_engine.model.LlmResponse
66
import agents_engine.model.ModelClient
77
import agents_engine.model.ToolCall
8+
import org.junit.jupiter.api.Tag
89
import kotlin.test.Test
910
import kotlin.test.assertEquals
1011
import kotlin.test.assertTrue
@@ -193,6 +194,7 @@ class ParallelExecutionTest {
193194
assertTrue(listOf("skill-a", "skill-b").containsAll(chosen))
194195
}
195196

197+
@Tag("live-llm")
196198
@Test
197199
fun `parallel agents with real LLM produce independent results`() {
198200
val frenchAgent = agent<String, String>("french") {
@@ -219,6 +221,7 @@ class ParallelExecutionTest {
219221
"Expected German, got: ${results[1]}")
220222
}
221223

224+
@Tag("live-llm")
222225
@Test
223226
fun `parallel then aggregator pipeline with real LLM`() {
224227
val pros = agent<String, String>("pros") {

src/test/kotlin/agents_engine/composition/pipeline/PipelineAgenticIntegrationTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package agents_engine.composition.pipeline
33
import agents_engine.core.agent
44
import agents_engine.model.LlmResponse
55
import agents_engine.model.ModelClient
6+
import org.junit.jupiter.api.Tag
67
import kotlin.test.Test
78
import kotlin.test.assertEquals
89
import kotlin.test.assertTrue
@@ -183,6 +184,7 @@ class PipelineAgenticIntegrationTest {
183184

184185
// --- Integration tests with real LLM ---
185186

187+
@Tag("live-llm")
186188
@Test
187189
fun `pipeline of two agentic agents with real LLM`() {
188190
val skills = mutableListOf<String>()
@@ -212,6 +214,7 @@ class PipelineAgenticIntegrationTest {
212214
"Expected a small word count, got: $result")
213215
}
214216

217+
@Tag("live-llm")
215218
@Test
216219
fun `three-stage pipeline extract then transform then format with real LLM`() {
217220
// Stage 1: extract keywords (LLM)

src/test/kotlin/agents_engine/core/FibonacciMemoryTest.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package agents_engine.core
22

3+
import org.junit.jupiter.api.Tag
34
import kotlin.test.Test
45
import kotlin.test.assertEquals
56

@@ -42,6 +43,7 @@ Rules: exactly one memory_read, exactly one memory_write, then reply with just t
4243
onToolUse { name, args, result -> println(" [$name] args=$args$result (bank: ${bank.read("fibonacci")})") }
4344
}
4445

46+
@Tag("live-llm")
4547
@Test
4648
fun `fibonacci via memory-only generates correct sequence`() {
4749
val bank = MemoryBank()
@@ -54,6 +56,7 @@ Rules: exactly one memory_read, exactly one memory_write, then reply with just t
5456
assertEquals(5, fib("do it"))
5557
}
5658

59+
@Tag("live-llm")
5760
@Test
5861
fun `memory state progresses correctly`() {
5962
val bank = MemoryBank()
@@ -65,6 +68,7 @@ Rules: exactly one memory_read, exactly one memory_write, then reply with just t
6568
fib("do it"); assertEquals("2|3", bank.read("fibonacci"))
6669
}
6770

71+
@Tag("live-llm")
6872
@Test
6973
fun `pre-seeded memory resumes from arbitrary point`() {
7074
val bank = MemoryBank()

src/test/kotlin/agents_engine/core/SharedKnowledgeTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import agents_engine.model.LlmMessage
55
import agents_engine.model.LlmResponse
66
import agents_engine.model.ModelClient
77
import agents_engine.model.ToolCall
8+
import org.junit.jupiter.api.Tag
89
import kotlin.test.Test
910
import kotlin.test.assertEquals
1011
import kotlin.test.assertTrue
@@ -149,6 +150,7 @@ class SharedKnowledgeTest {
149150
assertTrue(toolMsg.content.contains("POST /users"))
150151
}
151152

153+
@Tag("live-llm")
152154
@Test
153155
fun `shared knowledge across agentic agents in pipeline with real LLM`() {
154156
val projectContext = mapOf(
@@ -182,6 +184,7 @@ class SharedKnowledgeTest {
182184
assertTrue(result.length > 10, "Expected a real review sentence, got: $result")
183185
}
184186

187+
@Tag("live-llm")
185188
@Test
186189
fun `shared product catalog drives both recommender and validator with real LLM`() {
187190
// Shared knowledge: a product catalog that both agents must reference

src/test/kotlin/agents_engine/core/SkillSelectionTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package agents_engine.core
33
import agents_engine.model.LlmMessage
44
import agents_engine.model.LlmResponse
55
import agents_engine.model.ModelClient
6+
import org.junit.jupiter.api.Tag
67
import org.junit.jupiter.api.Test
78
import org.junit.jupiter.api.assertThrows
89
import kotlin.test.assertEquals
@@ -219,6 +220,7 @@ class SkillSelectionTest {
219220

220221
// --- Integration test with real LLM ---
221222

223+
@Tag("live-llm")
222224
@Test
223225
fun `LLM routing picks correct skill with real model`() {
224226
val chosen = mutableListOf<String>()

src/test/kotlin/agents_engine/model/AgenticLoopTest.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package agents_engine.model
22

33
import agents_engine.composition.pipeline.then
44
import agents_engine.core.agent
5+
import org.junit.jupiter.api.Tag
56
import org.junit.jupiter.api.assertThrows
67
import kotlin.test.Test
78
import kotlin.test.assertEquals
@@ -227,6 +228,7 @@ class AgenticLoopTest {
227228
assertTrue(systemMsg.content.contains("Greet someone by name"))
228229
}
229230

231+
@Tag("live-llm")
230232
@Test
231233
fun `calculator agent solves nested arithmetic via tool chaining`() {
232234
fun num(args: Map<String, Any?>, key: String) = args[key].toString().toDouble()
@@ -279,6 +281,7 @@ class AgenticLoopTest {
279281
assertEquals(625.0, power.result)
280282
}
281283

284+
@Tag("live-llm")
282285
@Test
283286
fun `agent returns Int via skill output parser`() {
284287
fun num(args: Map<String, Any?>, key: String) = args[key].toString().toDouble()
@@ -311,6 +314,7 @@ class AgenticLoopTest {
311314
assertEquals(625.0, power.result)
312315
}
313316

317+
@Tag("live-llm")
314318
@Test
315319
fun `agent pipeline returns Int result`() {
316320
fun num(args: Map<String, Any?>, key: String) = args[key].toString().toDouble()

0 commit comments

Comments
 (0)