Closed simmstein closed 1 year ago
Interesting 🤔
Looks like pipeline
and err
is nil
here:
https://github.com/woodpecker-ci/woodpecker/blob/7859bde63deae2d0fc7d12f3b1b896c2a041705e/server/forge/gitea/gitea.go#L480-L485
That's weird because it actually never does this, an error is always returned if the pipeline couldn't be parsed.
Edit:
Maybe the issue is also that pipeline.ChangedFiles
is nil
and len
panics but then the first check should actually fail.
I forked and build my own image to debug:
fmt.Printf("pipeline.Event %+v\n", pipeline.Event)
fmt.Printf("model.EventPull %+v\n", model.EventPull)
fmt.Printf("pipeline.ChangedFiles %+v\n", pipeline.ChangedFiles)
fmt.Printf("len(pipeline.ChangedFiles) %+v\n", len(pipeline.ChangedFiles))
if pipeline.Event == model.EventPull && len(pipeline.ChangedFiles) == 0 {
When a tag is removed, it panic on pipeline.Event
.
When a tag is added, it panics too but the debug works:
woodpecker-server_1 | pipeline.Event tag
woodpecker-server_1 | model.EventPull pull_request
woodpecker-server_1 | pipeline.ChangedFiles []
woodpecker-server_1 | len(pipeline.ChangedFiles) 0
Pipeline is nil when a tag is removed.
When a tag is created, pipeline looks like:
&{ID:0 RepoID:0 Number:0 Author:***redacted*** ConfigID:0 Parent:0 Event:tag Status: Error: Enqueued:0 Created:0 Updated:0 Started:0 Finished:0 Deploy: Commit:6cae0ca70a8cd0da37b2ed9c85263a719a7c0e9f Branch:refs/tags/v4-221116-gitnet Ref:refs/tags/v4-221116-gitnet Refspec: CloneURL: Title: Message:created tag v4-221116-gitnet Timestamp:1668630273 Sender:deblan Avatar:***redacted*** Email: Link:***redacted*** Signed:false Verified:false Reviewer: Reviewed:0 Steps:[] Files:[] ChangedFiles:[] AdditionalVariables:map[]}
From a fresh database on v15 and a move to next, this is the same problem.
Thanks, that's very helpful :)
The oldest docker tag next (next-a5e1714039
) contains the bug.
thanks for the detailed issue! let's see when one of us has time to look into it :)
Component
server
Describe the bug
System Info
Additional context
Docker log:
Hook content:
Validations