@@ -204,16 +204,19 @@ func (evt *Event) Acts() map[string][]string {
204204// Helper to convert actionlint errors
205205func acErrToError (acErrs []* actionlint.Error ) []error {
206206 errs := make ([]error , len (acErrs ))
207- for _ , err := range acErrs {
208- errs = append ( errs , err )
207+ for i , err := range acErrs {
208+ errs [ i ] = err
209209 }
210210 return errs
211211}
212212
213213func acStringToString (strs []* actionlint.String ) []string {
214+ if len (strs ) == 0 {
215+ return nil
216+ }
214217 strings := make ([]string , len (strs ))
215- for _ , v := range strs {
216- strings = append ( strings , v .Value )
218+ for i , v := range strs {
219+ strings [ i ] = v .Value
217220 }
218221 return strings
219222}
@@ -246,29 +249,39 @@ func GetEventsFromContent(content []byte) ([]*Event, error) {
246249 for _ , acEvent := range wf .On {
247250 event := & Event {
248251 Name : acEvent .EventName (),
249- acts : map [string ][]string {},
250252 }
251253 switch e := acEvent .(type ) {
252254 case * actionlint.ScheduledEvent :
253255 schedules := make ([]map [string ]string , len (e .Cron ))
254- for _ , c := range e .Cron {
255- schedules = append ( schedules , map [string ]string {"cron" : c .Value })
256+ for i , c := range e .Cron {
257+ schedules [ i ] = map [string ]string {"cron" : c .Value }
256258 }
257259 event .schedules = schedules
258260 case * actionlint.WorkflowDispatchEvent :
259261 inputs := make ([]WorkflowDispatchInput , len (e .Inputs ))
262+ i := 0
260263 for keyword , v := range e .Inputs {
261- inputs = append (inputs , WorkflowDispatchInput {
262- Name : keyword ,
263- Required : v .Required .Value ,
264- Description : v .Description .Value ,
265- Default : v .Default .Value ,
266- Options : acStringToString (v .Options ),
267- Type : typeToString (v .Type ),
268- })
264+ wdi := WorkflowDispatchInput {
265+ Name : keyword ,
266+
267+ Options : acStringToString (v .Options ),
268+ Type : typeToString (v .Type ),
269+ }
270+ if v .Required != nil {
271+ wdi .Required = v .Required .Value
272+ }
273+ if v .Description != nil {
274+ wdi .Description = v .Description .Value
275+ }
276+ if v .Default != nil {
277+ wdi .Default = v .Default .Value
278+ }
279+ inputs [i ] = wdi
280+ i ++
269281 }
270282 event .inputs = inputs
271283 case * actionlint.WebhookEvent :
284+ event .acts = map [string ][]string {}
272285 if e .Branches != nil {
273286 event .acts [e .Branches .Name .Value ] = acStringToString (e .Branches .Values )
274287 }
@@ -290,7 +303,6 @@ func GetEventsFromContent(content []byte) ([]*Event, error) {
290303 if e .Types != nil {
291304 event .acts ["types" ] = acStringToString (e .Types )
292305 }
293- // if e.
294306 }
295307 events = append (events , event )
296308 }
0 commit comments