back interdiff of round #1 and #0

spindle/engine: clean up envs, stdout on dev and use new models #258

merged
opened by anirudh.fi targeting master from push-momltwttmuyq
ERROR
spindle/config/config.go

Failed to calculate interdiff for this file.

ERROR
spindle/engine/ansi_stripper.go

Failed to calculate interdiff for this file.

ERROR
spindle/engine/engine.go

Failed to calculate interdiff for this file.

ERROR
spindle/engine/envs.go

Failed to calculate interdiff for this file.

ERROR
spindle/engine/envs_test.go

Failed to calculate interdiff for this file.

ERROR
spindle/server.go

Failed to calculate interdiff for this file.

NEW
spindle/models/pipeline.go
···
"path"
"tangled.sh/tangled.sh/core/api/tangled"
)
type Pipeline struct {
···
// In the process, dependencies are resolved: nixpkgs deps
// are constructed atop nixery and set as the Workflow.Image,
// and ones from custom registries
-
func ToPipeline(pl tangled.Pipeline, dev bool) *Pipeline {
workflows := []Workflow{}
for _, twf := range pl.Workflows {
···
}
swf.Name = twf.Name
swf.Environment = workflowEnvToMap(twf.Environment)
-
swf.Image = workflowImage(twf.Dependencies)
swf.addNixProfileToPath()
setup := &setupSteps{}
-
setup.addStep(cloneStep(*twf, *pl.TriggerMetadata.Repo, dev))
setup.addStep(checkoutStep(*twf, *pl.TriggerMetadata))
setup.addStep(dependencyStep(*twf))
···
return envMap
}
-
func workflowImage(deps []tangled.Pipeline_Dependencies_Elem) string {
var dependencies string
for _, d := range deps {
if d.Registry == "nixpkgs" {
···
// load defaults from somewhere else
dependencies = path.Join(dependencies, "bash", "git", "coreutils", "nix")
-
// TODO: this should use nixery from the config
-
return path.Join("nixery.dev", dependencies)
}
func (wf *Workflow) addNixProfileToPath() {
···
"path"
"tangled.sh/tangled.sh/core/api/tangled"
+
"tangled.sh/tangled.sh/core/spindle/config"
)
type Pipeline struct {
···
// In the process, dependencies are resolved: nixpkgs deps
// are constructed atop nixery and set as the Workflow.Image,
// and ones from custom registries
+
func ToPipeline(pl tangled.Pipeline, cfg config.Config) *Pipeline {
workflows := []Workflow{}
for _, twf := range pl.Workflows {
···
}
swf.Name = twf.Name
swf.Environment = workflowEnvToMap(twf.Environment)
+
swf.Image = workflowImage(twf.Dependencies, cfg.Pipelines.Nixery)
swf.addNixProfileToPath()
setup := &setupSteps{}
+
setup.addStep(cloneStep(*twf, *pl.TriggerMetadata.Repo, cfg.Server.Dev))
setup.addStep(checkoutStep(*twf, *pl.TriggerMetadata))
setup.addStep(dependencyStep(*twf))
···
return envMap
}
+
func workflowImage(deps []tangled.Pipeline_Dependencies_Elem, nixery string) string {
var dependencies string
for _, d := range deps {
if d.Registry == "nixpkgs" {
···
// load defaults from somewhere else
dependencies = path.Join(dependencies, "bash", "git", "coreutils", "nix")
+
return path.Join(nixery, dependencies)
}
func (wf *Workflow) addNixProfileToPath() {