func NewActionPlan()

in codecatalyst-runner/pkg/actions/action_plan.go [37:73]


func NewActionPlan(params *NewActionPlanParams) (runner.Plan, error) {
	var id string
	if params.ID != "" {
		id = params.ID
	} else {
		id = params.Action.ID
	}
	workingDir, err := filepath.Abs(params.WorkingDir)
	if err != nil {
		return nil, err
	}
	actionPlan := &actionPlan{
		id:            id,
		action:        params.Action,
		commandGroups: make([]*runner.CommandGroup, 0),
		environmentConfiguration: &runner.EnvironmentConfiguration{
			FileMaps: make([]*runner.FileMap, 0),
			Env: map[string]string{
				"CATALYST_WORKFLOW_SPACE_NAME":   "-",
				"CATALYST_WORKFLOW_SPACE_ID":     "-",
				"CATALYST_WORKFLOW_PROJECT_NAME": "-",
				"CATALYST_WORKFLOW_PROJECT_ID":   "-",
				"CI":                             "true",
			},
			WorkingDir: workingDir,
		},
		dependsOn:     params.DependsOn,
		ExecutionType: params.ExecutionType,
	}

	if params.Action.Runs.Using == UsingTypeDocker {
		err = actionPlan.loadDockerAction(params.Action, params.Steps)
	} else {
		err = actionPlan.loadNodeAction(params.Action, params.Steps, params.ExecutionType)
	}
	return actionPlan, err
}