Skip to content
Merged

Dev #22

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
61b0772
chore(core): small adjustment in gitignore (added config for qudo), a…
davidmovas Jun 10, 2025
d292f1e
chore(core): added tests for operation normalize functionality
davidmovas Jun 10, 2025
71b99a8
chore(core): moved from standard yaml package to goccy/go-yaml packag…
davidmovas Jun 10, 2025
464b449
chore(core): moved from standard json package to goccy/go-json packag…
davidmovas Jun 10, 2025
b929ae1
chore(executor): executor and other scripts a little refactored
davidmovas Jun 10, 2025
bab5cb6
chore(runner): assert package refactored, tided and styled
davidmovas Jun 10, 2025
bf460de
chore(runner): some refactors in http executor, fixed issue with requ…
davidmovas Jun 10, 2025
d8f7a9a
feat(runner): added HTML report generation after plan execution, refa…
davidmovas Jun 12, 2025
c914176
Merge branch 'main' into dev
davidmovas Jun 12, 2025
0e128ba
chore(core): moved from standard json package to goccy/go-json packag…
davidmovas Jun 12, 2025
65a9b41
chore(cli): added semantic release configuration file
davidmovas Jun 12, 2025
6b178df
Merge branch 'main' into dev
davidmovas Jun 12, 2025
17ff90e
Merge branch 'main' into dev
davidmovas Jun 13, 2025
6a30928
refactor(report): restructured HTML report generation with improved t…
davidmovas Jun 13, 2025
56b3394
feat(runner): added V2 plan runner with dependency analysis and data …
davidmovas Jun 20, 2025
d77f700
refactor(runner): enhanced dependency graph builder with smart templa…
davidmovas Jun 20, 2025
2db3473
refactor(runner): improved dependency graph execution order determini…
davidmovas Jun 21, 2025
56cf8a9
refactor(runner): replaced priority queue with simple slice queue for…
davidmovas Jun 22, 2025
aab5429
feat(runner): added V2 plan runner with dependency analysis and data …
davidmovas Jun 20, 2025
7432eaf
refactor(runner): enhanced dependency graph builder with improved tem…
davidmovas Jun 22, 2025
54dd1d3
refactor(runner): enhanced dependency graph builder with improved tem…
davidmovas Jun 22, 2025
640eb28
test(runner): improved test case descriptions and removed redundant d…
davidmovas Jun 22, 2025
517bf3d
refactor(runner): reorganized imports and removed unused variables fo…
davidmovas Jun 22, 2025
ce9a9be
refactor(runner): restructured dependency system with rules-based arc…
davidmovas Jun 23, 2025
3e12bf0
Merge branch 'main' into dev
davidmovas Jun 23, 2025
97e781b
refactor(runner): renamed dependency graph types and improved alias v…
davidmovas Jun 23, 2025
997fe77
refactor(runner): consolidated plan runner architecture and improved …
davidmovas Jun 23, 2025
292880b
refactor(runner): simplified PassManager initialization and method si…
davidmovas Jul 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/cli/generator/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ var Cmd = &cobra.Command{
manager := runner.NewPlanManagerBuilder().
WithManifests(loadedManifests...).Build()

planManifest, err := manager.Generate()
planManifest, _, err := manager.Generate()
if err != nil {
cli.Errorf("Failed to generate plan: %v", err)
return
Expand Down
6 changes: 3 additions & 3 deletions cmd/cli/run/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ var Cmd = &cobra.Command{
WithManifests(loadedManifests...).Build()

// Use V2 plan generation with dependency analysis
planManifest, graphResult, err := manager.GenerateV2()
planManifest, graphResult, err := manager.Generate()
if err != nil {
cli.Errorf("Failed to generate V2 plan: %v", err)
return
Expand All @@ -82,11 +82,11 @@ var Cmd = &cobra.Command{
hooksRunner := hooks.NewDefaultHooksRunner()

// Use V2 plan runner with dependency support
planRunner := executor.NewV2PlanRunner(registry, hooksRunner, graphResult)
planRunner := executor.NewRunner(registry, hooksRunner, graphResult)

runCtx := ctxBuilder.Build()

if err = planRunner.RunPlan(runCtx, planManifest); err != nil {
if err = planRunner.Run(runCtx, planManifest); err != nil {
cli.Errorf("Plan execution failed: %v", err)
return
}
Expand Down
18 changes: 18 additions & 0 deletions internal/core/manifests/kinds/priority.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package kinds

import "github.com/apiqube/cli/internal/core/manifests"

var PriorityMap = map[string]int{
// Infrastructure kinds
manifests.ValuesKind: 10,

// Application kinds
manifests.ServerKind: 100,
manifests.ServiceKind: 110,

// Test kinds
manifests.HttpTestKind: 200,

// Load test kinds
manifests.HttpLoadTestKind: 300,
}
50 changes: 50 additions & 0 deletions internal/core/runner/depends/builder.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package depends

import "github.com/apiqube/cli/internal/core/runner/depends/rules"

// AddRule adds a new rule to the registry
func (b *Builder) AddRule(rule rules.DependencyRule) {
b.registry.Register(rule)
}

// GetSaveRequirement returns save requirement for a manifest
func (r *Result) GetSaveRequirement(manifestID string) (SaveRequirement, bool) {
req, exists := r.SaveRequirements[manifestID]
return req, exists
}

// GetDependenciesFor returns all dependencies for a manifest
func (r *Result) GetDependenciesFor(manifestID string) []rules.Dependency {
var deps []rules.Dependency
for _, dep := range r.Dependencies {
if dep.From == manifestID {
deps = append(deps, dep)
}
}
return deps
}

// GetDependentsOf returns dependencies that depend on the given manifest
func (r *Result) GetDependentsOf(manifestID string) []rules.Dependency {
var dependents []rules.Dependency
for _, dep := range r.Dependencies {
if dep.To == manifestID {
dependents = append(dependents, dep)
}
}
return dependents
}

// GetIntraManifestDependencies returns intra-manifest dependencies for a given manifest
func (r *Result) GetIntraManifestDependencies(manifestID string) []rules.Dependency {
if deps, exists := r.IntraManifestDeps[manifestID]; exists {
return deps
}
return []rules.Dependency{}
}

// HasIntraManifestDependencies checks if a manifest has intra-manifest dependencies
func (r *Result) HasIntraManifestDependencies(manifestID string) bool {
deps, exists := r.IntraManifestDeps[manifestID]
return exists && len(deps) > 0
}
59 changes: 0 additions & 59 deletions internal/core/runner/depends/builder_v2.go

This file was deleted.

138 changes: 0 additions & 138 deletions internal/core/runner/depends/dependencies.go

This file was deleted.

Loading
Loading