fix: remove composite restrictions (#1128)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
parent
7704033ec6
commit
ebb408f373
3 changed files with 29 additions and 68 deletions
|
@ -23,21 +23,6 @@ type Workflow struct {
|
|||
Defaults Defaults `yaml:"defaults"`
|
||||
}
|
||||
|
||||
// CompositeRestrictions is the structure to control what is allowed in composite actions
|
||||
type CompositeRestrictions struct {
|
||||
AllowCompositeUses bool
|
||||
AllowCompositeIf bool
|
||||
AllowCompositeContinueOnError bool
|
||||
}
|
||||
|
||||
func defaultCompositeRestrictions() *CompositeRestrictions {
|
||||
return &CompositeRestrictions{
|
||||
AllowCompositeUses: true,
|
||||
AllowCompositeIf: true,
|
||||
AllowCompositeContinueOnError: false,
|
||||
}
|
||||
}
|
||||
|
||||
// On events for the workflow
|
||||
func (w *Workflow) On() []string {
|
||||
switch w.RawOn.Kind {
|
||||
|
@ -431,22 +416,6 @@ func (s *Step) Type() StepType {
|
|||
return StepTypeUsesActionRemote
|
||||
}
|
||||
|
||||
func (s *Step) Validate(config *CompositeRestrictions) error {
|
||||
if config == nil {
|
||||
config = defaultCompositeRestrictions()
|
||||
}
|
||||
if s.Type() != StepTypeRun && !config.AllowCompositeUses {
|
||||
return fmt.Errorf("(StepID: %s): Unexpected value 'uses'", s.String())
|
||||
} else if s.Type() == StepTypeRun && s.Shell == "" {
|
||||
return fmt.Errorf("(StepID: %s): Required property is missing: 'shell'", s.String())
|
||||
} else if !s.If.IsZero() && !config.AllowCompositeIf {
|
||||
return fmt.Errorf("(StepID: %s): Property is not available: 'if'", s.String())
|
||||
} else if s.ContinueOnError && !config.AllowCompositeContinueOnError {
|
||||
return fmt.Errorf("(StepID: %s): Property is not available: 'continue-on-error'", s.String())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// ReadWorkflow returns a list of jobs for a given workflow file reader
|
||||
func ReadWorkflow(in io.Reader) (*Workflow, error) {
|
||||
w := new(Workflow)
|
||||
|
|
|
@ -364,13 +364,6 @@ func execAsComposite(step actionStep, containerActionDir string) common.Executor
|
|||
action := step.getActionModel()
|
||||
|
||||
return func(ctx context.Context) error {
|
||||
// Disable some features of composite actions, only for feature parity with github
|
||||
for _, compositeStep := range action.Runs.Steps {
|
||||
if err := compositeStep.Validate(rc.Config.CompositeRestrictions); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
eval := rc.NewExpressionEvaluator()
|
||||
|
||||
inputs := make(map[string]interface{})
|
||||
|
|
|
@ -50,7 +50,6 @@ type Config struct {
|
|||
AutoRemove bool // controls if the container is automatically removed upon workflow completion
|
||||
ArtifactServerPath string // the path where the artifact server stores uploads
|
||||
ArtifactServerPort string // the port the artifact server binds to
|
||||
CompositeRestrictions *model.CompositeRestrictions // describes which features are available in composite actions
|
||||
NoSkipCheckout bool // do not skip actions/checkout
|
||||
RemoteName string // remote name in local git repo config
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue