Skip to content

Commit 0c40980

Browse files
authored
Merge pull request #101 from golemcloud/interface-review-for-1.3
Interface review and adjusments for 1.3
2 parents 76cbf36 + 8bd6ce3 commit 0c40980

File tree

95 files changed

+4243
-9067
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+4243
-9067
lines changed

.github/workflows/ci.yaml

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -133,24 +133,24 @@ jobs:
133133
cd test/exec
134134
golem profile config local set-format json
135135
golem app -b release deploy
136-
golem agent invoke test:exec-js/test-1 test01 | jq -e '(.result_wave[0]=="true")'
137-
golem agent invoke test:exec-js/test-2 test02 | jq -e '(.result_wave[0]=="true")'
138-
golem agent invoke test:exec-js/test-3 test03 | jq -e '(.result_wave[0]=="true")'
139-
golem agent invoke test:exec-js/test-4 test04 | jq -e '(.result_wave[0]=="true")'
140-
golem agent invoke test:exec-js/test-5 test05 | jq -e '(.result_wave[0]=="true")'
141-
golem agent invoke test:exec-js/test-6 test06 | jq -e '(.result_wave[0]=="true")'
142-
golem agent invoke test:exec-js/test-7 test07 | jq -e '(.result_wave[0]=="true")'
143-
golem agent invoke test:exec-js/test-8 test08 | jq -e '(.result_wave[0]=="true")'
144-
golem agent invoke test:exec-js/test-9 test09 | jq -e '(.result_wave[0]=="true")'
145-
golem agent invoke test:exec-js/test-10 test10 | jq -e '(.result_wave[0]=="true")'
146-
golem agent invoke test:exec-js/test-11 test11 | jq -e '(.result_wave[0]=="true")'
147-
golem agent invoke test:exec-py/test-1 test1 | jq -e '(.result_wave[0]=="true")'
148-
golem agent invoke test:exec-py/test-2 test2 | jq -e '(.result_wave[0]=="true")'
149-
golem agent invoke test:exec-py/test-3 test3 | jq -e '(.result_wave[0]=="true")'
150-
golem agent invoke test:exec-py/test-4 test4 | jq -e '(.result_wave[0]=="true")'
151-
#golem agent invoke test:exec-py/test-5 test5 | jq -e '(.result_wave[0]=="true")' # TODO: REENABLE AFTER INVESTIGATION
152-
#golem agent invoke test:exec-py/test-6 test6 | jq -e '(.result_wave[0]=="true")' # TODO: REENABLE AFTER INVESTIGATION
153-
golem agent invoke test:exec-py/test-7 test7 | jq -e '(.result_wave[0]=="true")'
136+
golem agent invoke test:exec-js/test-1 test01 | jq -e '(.result_wave[0]=="true")'
137+
golem agent invoke test:exec-js/test-2 test02 | jq -e '(.result_wave[0]=="true")'
138+
golem agent invoke test:exec-js/test-3 test03 | jq -e '(.result_wave[0]=="true")'
139+
golem agent invoke test:exec-js/test-4 test04 | jq -e '(.result_wave[0]=="true")'
140+
golem agent invoke test:exec-js/test-5 test05 | jq -e '(.result_wave[0]=="true")'
141+
golem agent invoke test:exec-js/test-6 test06 | jq -e '(.result_wave[0]=="true")'
142+
golem agent invoke test:exec-js/test-7 test07 | jq -e '(.result_wave[0]=="true")'
143+
golem agent invoke test:exec-js/test-8 test08 | jq -e '(.result_wave[0]=="true")'
144+
golem agent invoke test:exec-js/test-9 test09 | jq -e '(.result_wave[0]=="true")'
145+
golem agent invoke test:exec-js/test-10 test10 | jq -e '(.result_wave[0]=="true")'
146+
golem agent invoke test:exec-js/test-11 test11 | jq -e '(.result_wave[0]=="true")'
147+
golem agent invoke test:exec-py/test-1 test1 | jq -e '(.result_wave[0]=="true")'
148+
golem agent invoke test:exec-py/test-2 test2 | jq -e '(.result_wave[0]=="true")'
149+
golem agent invoke test:exec-py/test-3 test3 | jq -e '(.result_wave[0]=="true")'
150+
golem agent invoke test:exec-py/test-4 test4 | jq -e '(.result_wave[0]=="true")'
151+
golem agent invoke test:exec-py/test-5 test5 | jq -e '(.result_wave[0]=="true")'
152+
golem agent invoke test:exec-py/test-6 test6 | jq -e '(.result_wave[0]=="true")'
153+
golem agent invoke test:exec-py/test-7 test7 | jq -e '(.result_wave[0]=="true")'
154154
155155
ollama-integration-tests:
156156
runs-on: ubuntu-latest
@@ -207,15 +207,15 @@ jobs:
207207
cargo make --cwd llm build-ollama
208208
cd test/llm
209209
golem app deploy -b ollama-debug test:llm test:helper
210-
golem agent new -e GOLEM_OLLAMA_BASE_URL=http://localhost:11434 test:llm/ollama-1
211-
golem agent invoke test:llm/ollama-1 test1 | grep -v "ERROR: "
212-
golem agent invoke test:llm/ollama-1 test2 | grep -v "ERROR: "
213-
golem agent invoke test:llm/ollama-1 test3 | grep -v "ERROR: "
214-
golem agent invoke test:llm/ollama-1 test4 | grep -v "ERROR: "
215-
golem agent invoke test:llm/ollama-1 test5 | grep -v "ERROR: "
216-
golem agent invoke test:llm/ollama-1 test6 | grep -v "ERROR: "
217-
golem agent invoke test:llm/ollama-1 test7 | grep -v "ERROR: "
218-
golem agent invoke test:llm/ollama-1 test8 | grep -v "ERROR: "
210+
golem agent new -e GOLEM_OLLAMA_BASE_URL=http://localhost:11434 test:llm/ollama-1
211+
golem agent invoke test:llm/ollama-1 test1 | grep -v "ERROR: "
212+
golem agent invoke test:llm/ollama-1 test2 | grep -v "ERROR: "
213+
golem agent invoke test:llm/ollama-1 test3 | grep -v "ERROR: "
214+
golem agent invoke test:llm/ollama-1 test4 | grep -v "ERROR: "
215+
golem agent invoke test:llm/ollama-1 test5 | grep -v "ERROR: "
216+
golem agent invoke test:llm/ollama-1 test6 | grep -v "ERROR: "
217+
golem agent invoke test:llm/ollama-1 test7 | grep -v "ERROR: "
218+
golem agent invoke test:llm/ollama-1 test8 | grep -v "ERROR: "
219219
graph-integration-tests:
220220
runs-on: ubuntu-latest
221221
steps:
@@ -305,42 +305,42 @@ jobs:
305305
306306
echo "Testing ArangoDB integration..."
307307
golem app deploy -b arangodb-release test:graph test:helper
308-
golem agent new -e ARANGODB_HOST=localhost -e ARANGODB_USER="" -e ARANGODB_PASSWORD="" -e ARANGODB_PORT="8529" -e ARANGODB_DATABASE="test" test:graph/arangodb-1
309-
golem agent invoke test:graph/arangodb-1 test1 | grep -v "ERROR: "
310-
golem agent invoke test:graph/arangodb-1 test2 | grep -v "ERROR: "
311-
golem agent invoke test:graph/arangodb-1 test3 | grep -v "ERROR: "
312-
golem agent invoke test:graph/arangodb-1 test4 | grep -v "ERROR: "
313-
golem agent invoke test:graph/arangodb-1 test5 | grep -v "ERROR: "
314-
golem agent invoke test:graph/arangodb-1 test6 | grep -v "ERROR: "
315-
golem agent invoke test:graph/arangodb-1 test7 | grep -v "ERROR: "
308+
golem agent new -e ARANGODB_HOST=localhost -e ARANGODB_USER="" -e ARANGODB_PASSWORD="" -e ARANGODB_PORT="8529" -e ARANGODB_DATABASE="test" test:graph/arangodb-1
309+
golem agent invoke test:graph/arangodb-1 test1 | grep -v "ERROR: "
310+
golem agent invoke test:graph/arangodb-1 test2 | grep -v "ERROR: "
311+
golem agent invoke test:graph/arangodb-1 test3 | grep -v "ERROR: "
312+
golem agent invoke test:graph/arangodb-1 test4 | grep -v "ERROR: "
313+
golem agent invoke test:graph/arangodb-1 test5 | grep -v "ERROR: "
314+
golem agent invoke test:graph/arangodb-1 test6 | grep -v "ERROR: "
315+
golem agent invoke test:graph/arangodb-1 test7 | grep -v "ERROR: "
316316
echo "ArangoDB tests completed successfully"
317317
golem app clean -b arangodb-release
318318
319319
echo "Testing JanusGraph integration..."
320320
golem app deploy -b janusgraph-release test:graph test:helper
321321
sleep 10
322-
golem agent new -e JANUSGRAPH_HOST=localhost -e JANUSGRAPH_USER="" -e JANUSGRAPH_PASSWORD="" -e JANUSGRAPH_PORT="8182" test:graph/janusgraph-1
323-
golem agent invoke test:graph/janusgraph-1 test1 | grep -v "ERROR: "
324-
golem agent invoke test:graph/janusgraph-1 test2 | grep -v "ERROR: "
325-
golem agent invoke test:graph/janusgraph-1 test3 | grep -v "ERROR: "
326-
golem agent invoke test:graph/janusgraph-1 test4 | grep -v "ERROR: "
327-
golem agent invoke test:graph/janusgraph-1 test5 | grep -v "ERROR: "
328-
golem agent invoke test:graph/janusgraph-1 test6 | grep -v "ERROR: "
329-
golem agent invoke test:graph/janusgraph-1 test7 | grep -v "ERROR: "
322+
golem agent new -e JANUSGRAPH_HOST=localhost -e JANUSGRAPH_USER="" -e JANUSGRAPH_PASSWORD="" -e JANUSGRAPH_PORT="8182" test:graph/janusgraph-1
323+
golem agent invoke test:graph/janusgraph-1 test1 | grep -v "ERROR: "
324+
golem agent invoke test:graph/janusgraph-1 test2 | grep -v "ERROR: "
325+
golem agent invoke test:graph/janusgraph-1 test3 | grep -v "ERROR: "
326+
golem agent invoke test:graph/janusgraph-1 test4 | grep -v "ERROR: "
327+
golem agent invoke test:graph/janusgraph-1 test5 | grep -v "ERROR: "
328+
golem agent invoke test:graph/janusgraph-1 test6 | grep -v "ERROR: "
329+
golem agent invoke test:graph/janusgraph-1 test7 | grep -v "ERROR: "
330330
echo "JanusGraph tests completed successfully"
331331
golem app clean -b janusgraph-release
332332
333333
echo "Testing Neo4j integration..."
334334
golem app deploy -b neo4j-release test:graph test:helper
335335
sleep 10
336-
golem agent new -e NEO4J_HOST=localhost -e NEO4J_USER=neo4j -e NEO4J_PASSWORD=password -e NEO4J_PORT="7474" -e NEO4J_DATABASE=neo4j test:graph/neo4j-1
337-
golem agent invoke test:graph/neo4j-1 test1 | grep -v "ERROR: "
338-
golem agent invoke test:graph/neo4j-1 test2 | grep -v "ERROR: "
339-
golem agent invoke test:graph/neo4j-1 test3 | grep -v "ERROR: "
340-
golem agent invoke test:graph/neo4j-1 test4 | grep -v "ERROR: "
341-
golem agent invoke test:graph/neo4j-1 test5 | grep -v "ERROR: "
342-
golem agent invoke test:graph/neo4j-1 test6 | grep -v "ERROR: "
343-
golem agent invoke test:graph/neo4j-1 test7 | grep -v "ERROR: "
336+
golem agent new -e NEO4J_HOST=localhost -e NEO4J_USER=neo4j -e NEO4J_PASSWORD=password -e NEO4J_PORT="7474" -e NEO4J_DATABASE=neo4j test:graph/neo4j-1
337+
golem agent invoke test:graph/neo4j-1 test1 | grep -v "ERROR: "
338+
golem agent invoke test:graph/neo4j-1 test2 | grep -v "ERROR: "
339+
golem agent invoke test:graph/neo4j-1 test3 | grep -v "ERROR: "
340+
golem agent invoke test:graph/neo4j-1 test4 | grep -v "ERROR: "
341+
golem agent invoke test:graph/neo4j-1 test5 | grep -v "ERROR: "
342+
golem agent invoke test:graph/neo4j-1 test6 | grep -v "ERROR: "
343+
golem agent invoke test:graph/neo4j-1 test7 | grep -v "ERROR: "
344344
echo "Neo4j tests completed successfully"
345345
golem app clean -b neo4j-release
346346

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ target
66
tmp
77
components
88
.DS_Store
9+
bindings.rs

exec/exec/src/bindings.rs

Lines changed: 0 additions & 49 deletions
This file was deleted.

exec/exec/src/component.rs

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::durability::{DurableExec, EmptySnapshot, SessionSnapshot};
22
use crate::golem::exec::executor::{
3-
Error, ExecResult, File, Guest, GuestSession, Language, Limits,
3+
Error, ExecResult, File, Guest, GuestSession, Language, RunOptions,
44
};
55
use crate::golem::exec::types::LanguageKind;
66
use crate::{get_contents, io_error, stage_result_failure};
@@ -13,19 +13,16 @@ impl Guest for Component {
1313

1414
fn run(
1515
lang: Language,
16-
snippet: String,
1716
modules: Vec<File>,
18-
stdin: Option<String>,
19-
args: Vec<String>,
20-
env: Vec<(String, String)>,
21-
constraints: Option<Limits>,
17+
snippet: String,
18+
options: RunOptions,
2219
) -> Result<ExecResult, Error> {
2320
match &lang.kind {
2421
LanguageKind::Javascript => {
2522
#[cfg(feature = "javascript")]
2623
{
2724
let session = crate::javascript::JavaScriptSession::new(lang, modules);
28-
session.run(snippet, args, stdin, env, constraints)
25+
session.run(snippet, options)
2926
}
3027
#[cfg(not(feature = "javascript"))]
3128
{
@@ -36,7 +33,7 @@ impl Guest for Component {
3633
#[cfg(feature = "python")]
3734
{
3835
let session = crate::python::PythonSession::new(lang, modules);
39-
session.run(snippet, args, stdin, env, constraints)
36+
session.run(snippet, options)
4037
}
4138
#[cfg(not(feature = "python"))]
4239
{
@@ -121,19 +118,12 @@ impl GuestSession for Session {
121118
Ok(())
122119
}
123120

124-
fn run(
125-
&self,
126-
snippet: String,
127-
args: Vec<String>,
128-
stdin: Option<String>,
129-
env: Vec<(String, String)>,
130-
constraints: Option<Limits>,
131-
) -> Result<ExecResult, Error> {
121+
fn run(&self, snippet: String, options: RunOptions) -> Result<ExecResult, Error> {
132122
match self {
133123
#[cfg(feature = "javascript")]
134-
Session::Javascript(session) => session.run(snippet, args, stdin, env, constraints),
124+
Session::Javascript(session) => session.run(snippet, options),
135125
#[cfg(feature = "python")]
136-
Session::Python(session) => session.run(snippet, args, stdin, env, constraints),
126+
Session::Python(session) => session.run(snippet, options),
137127
Session::Unsupported => Err(Error::UnsupportedLanguage),
138128
}
139129
}

0 commit comments

Comments
 (0)