NOISSUE - Update protobuf generated files and improve algorithm handling in runner service (#612)
CI / lint (push) Has been cancelled
CI / checkproto (push) Has been cancelled
CI / test (agent) (push) Has been cancelled
CI / upload-coverage (push) Has been cancelled
CI / test (cli) (push) Has been cancelled
CI / test (cmd) (push) Has been cancelled
CI / test (internal) (push) Has been cancelled
CI / test (manager, true) (push) Has been cancelled
CI / test (pkg) (push) Has been cancelled

* Update protobuf generated files and improve algorithm handling in runner service

- Bump protoc version from v7.35.0 to v7.35.1 in generated protobuf files.
- Refactor RunRequest message in runner.proto to use string paths for algorithm and requirements instead of byte arrays.
- Update runner service to handle algorithm and requirements paths, removing the need for temporary file creation.
- Enhance error handling for missing algorithm paths in the runner service.
- Modify tests to align with the new RunRequest structure and ensure proper file handling.

Signed-off-by: Sammy Oina <sammyoina@gmail.com>

* chore: update protoc version to 35.1 in CI workflow

Signed-off-by: Sammy Oina <sammyoina@gmail.com>

* feat: update systemd service configurations and dependencies for improved service management

Signed-off-by: Sammy Oina <sammyoina@gmail.com>

* fix: adjust AlgoWorkingDir handling in tests for Docker algorithm

Signed-off-by: Sammy Oina <sammyoina@gmail.com>

---------

Signed-off-by: Sammy Oina <sammyoina@gmail.com>
This commit is contained in:
Sammy Kerata Oina
2026-07-28 14:54:43 +03:00
committed by GitHub
parent 412472943d
commit 22c14cb438
32 changed files with 279 additions and 213 deletions
+6 -3
View File
@@ -18,11 +18,14 @@ const (
AlgoTypeKey = "algo_type"
AlgoArgsKey = "algo_args"
ResultsDir = "results"
DatasetsDir = "datasets"
AlgoWorkingDir = "/cocos"
ResultsDir = "results"
DatasetsDir = "datasets"
)
// AlgoWorkingDir is the base directory used by algorithm runners (e.g. docker)
// to create datasets/results mounts. It is a variable so tests can override it.
var AlgoWorkingDir = "/cocos"
func AlgorithmTypeToContext(ctx context.Context, algoType string) context.Context {
return metadata.AppendToOutgoingContext(ctx, AlgoTypeKey, algoType)
}
+10
View File
@@ -90,6 +90,16 @@ func (d *docker) Run() error {
return fmt.Errorf("could not find image ID")
}
datasetsDir := path.Join(algorithm.AlgoWorkingDir, algorithm.DatasetsDir)
resultsDir := path.Join(algorithm.AlgoWorkingDir, algorithm.ResultsDir)
if err := os.MkdirAll(datasetsDir, 0o755); err != nil {
return fmt.Errorf("could not create datasets directory %s: %v", datasetsDir, err)
}
if err := os.MkdirAll(resultsDir, 0o755); err != nil {
return fmt.Errorf("could not create results directory %s: %v", resultsDir, err)
}
// Create and start the container.
respContainer, err := cli.ContainerCreate(ctx, &container.Config{
Image: dockerImageName,