(workflow) add simple harness workflow for manual testing

This commit is contained in:
Test
2026-08-21 18:07:12 -07:00
parent 769e56d33d
commit 5b8d3df01e
17 changed files with 1080 additions and 44 deletions
+56 -1
View File
@@ -1,5 +1,60 @@
package main
import (
"fmt"
"log"
"go.temporal.io/sdk/client"
"go.temporal.io/sdk/worker"
"github.com/rockliang/poimen/workflows/action"
"github.com/rockliang/poimen/workflows/internal/config"
"github.com/rockliang/poimen/workflows/statemachine"
)
func main() {
// Empty stub - will be filled in T0.8
// Load configuration
cfg, err := config.LoadConfig()
if err != nil {
log.Fatalf("failed to load config: %v", err)
}
// Connect to Temporal
c, err := client.Dial(client.Options{
HostPort: cfg.Temporal.HostPort,
Namespace: cfg.Temporal.Namespace,
})
if err != nil {
log.Fatalf("failed to connect to temporal: %v", err)
}
defer c.Close()
// Create worker
w := worker.New(c, "default", worker.Options{})
if w == nil {
log.Fatalf("failed to create worker")
}
// Register all workflows
w.RegisterWorkflow(statemachine.OrchestratorWorkflow)
w.RegisterWorkflow(statemachine.TaskUnitWorkflow)
// Register all activities
w.RegisterActivity(action.CloneRepoActivity)
w.RegisterActivity(action.GitWorktreeAddActivity)
w.RegisterActivity(action.GitCommitActivity)
w.RegisterActivity(action.GitPushActivity)
w.RegisterActivity(action.GitSquashMergeActivity)
w.RegisterActivity(action.PrepareSkillsActivity)
w.RegisterActivity(action.PlanningActivity)
w.RegisterActivity(action.ImplementerActivity)
w.RegisterActivity(action.JudgeActivity)
// Note: RunIntegrationTestActivity and lessons activities will be registered when fully implemented
// w.RegisterActivity(action.UpdateLessonsActivity)
// w.RegisterActivity(action.ReadLessonsActivity)
// Run worker
fmt.Println("Starting worker on queue 'default'...")
if err := w.Run(worker.InterruptCh()); err != nil {
log.Fatalf("worker failed: %v", err)
}
}