Woodpecker is a community fork of the Drone CI system.
Find a file
Lukas 12ff74c4cb
Fix branch loading (#1249)
Fixes a panic I got while viewing the branches in the UI.

```
runtime error: index out of range [0] with length 0
/home/gitpod/go/src/runtime/panic.go:113 (0x44053e)
        goPanicIndex: panic(boundsError{x: int64(x), signed: true, y: y, code: boundsIndex})
/workspace/woodpecker/server/remote/gitea/gitea.go:444 (0xd36764)
        (*Gitea).Branches.func1: result[i] = branches[i].Name
/workspace/woodpecker/server/remote/common/utils.go:34 (0xd3942a)
        Paginate[...]: batch, err := get(page)
/workspace/woodpecker/server/remote/gitea/gitea.go:439 (0xd36665)
        (*Gitea).Branches: branches, err := common.Paginate(func(page int) ([]string, error) {
/workspace/woodpecker/server/api/repo.go:202 (0xc823a1)
        GetRepoBranches: branches, err := r.Branches(c, user, repo)
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc71d44)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/repo.go:148 (0xc71bba)
        MustPull: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc71aee)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/repo.go:139 (0xc71aaa)
        SetPerm.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc71251)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/repo.go:53 (0xc710ec)
        SetRepo.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccb50f)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/token/token.go:50 (0xccb248)
        Refresh: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc721fc)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/user.go:72 (0xc721e3)
        SetUser.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xcd069e)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/store.go:29 (0xcd0685)
        Store.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccff47)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/logger.go:23 (0xccff2a)
        Logger.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccaf99)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/header/header.go:38 (0xccaec4)
        Options: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccae21)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/header/header.go:30 (0xccae06)
        NoCache: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccf32a)
        (*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/router.go:39 (0xccf310)
        Load.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xa2e0c1)
        (*Context).Next: c.handlers[c.index](c)
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/recovery.go:101 (0xa2e0ac)
        CustomRecoveryWithWriter.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xa2cf30)
        (*Context).Next: c.handlers[c.index](c)
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/gin.go:616 (0xa2cb98)
        (*Engine).handleHTTPRequest: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/gin.go:572 (0xa2c6dc)
        (*Engine).ServeHTTP: engine.handleHTTPRequest(c)
/home/gitpod/go/src/net/http/server.go:2947 (0x79cc4b)
        serverHandler.ServeHTTP: handler.ServeHTTP(rw, req)
/home/gitpod/go/src/net/http/server.go:1991 (0x797e66)
        (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req)
/home/gitpod/go/src/runtime/asm_amd64.s:1594 (0x476d80)
        goexit: BYTE    $0x90   // NOP
```

Co-authored-by: Anbraten <anton@ju60.de>
2022-10-09 21:10:36 +02:00
.github Fix screenshot upload for issue template (#1062) 2022-08-01 07:43:21 +02:00
.vscode Replace yarn with pnpm (#1240) 2022-10-08 16:15:07 +02:00
.woodpecker Replace yarn with pnpm (#1240) 2022-10-08 16:15:07 +02:00
agent Move away from deprecated go funcs (#1123) 2022-08-25 08:39:19 +02:00
charts Adding initial version of Kubernetes backend (#552) 2022-09-05 06:01:14 +02:00
cli Add when evaluate filter (#1213) 2022-10-06 01:49:23 +02:00
cmd Remove old CLI docs generation code (#1196) 2022-09-25 14:36:31 +02:00
docker Migrate to certmagic (#360) 2022-09-04 03:24:42 +02:00
docs Add fallback plugin image and display plugins in 1 to 3 columns (#1247) 2022-10-09 19:31:53 +02:00
nfpm fix nfpm (#788) 2022-02-24 15:35:11 +01:00
pipeline Add when evaluate filter (#1213) 2022-10-06 01:49:23 +02:00
server Fix branch loading (#1249) 2022-10-09 21:10:36 +02:00
shared bump default clone image 2022-10-06 19:40:50 +02:00
version gofumpt -w -l -extra . (#661) 2022-01-05 21:50:23 +01:00
web Add titles for IconButtons (#1245) 2022-10-08 19:06:53 +02:00
woodpecker-go Add ability to trigger manual builds (#1156) 2022-09-27 11:05:00 +02:00
.changelog.yml Changelog for v0.14.1 (#334) (#340) 2021-09-23 02:21:28 +02:00
.ecrc Use editorconfig-checker (#982) 2022-06-17 12:03:34 +02:00
.editorconfig Use editorconfig-checker (#982) 2022-06-17 12:03:34 +02:00
.gitignore Make exec run be detected as WoodpeckerCI (#1218) 2022-09-27 22:19:39 +02:00
.gitpod.yml Replace yarn with pnpm (#1240) 2022-10-08 16:15:07 +02:00
.golangci.yml Lint code with gofumpt (#664) 2022-01-06 07:44:14 +01:00
CHANGELOG.md Add Changelog v0.15.2 (#966) (#967) 2022-06-14 15:07:53 +02:00
CONTRIBUTING.md Mention Matrix Space & Rooms in Readme & Docs (#646) 2021-12-30 11:53:52 -06:00
docker-compose.example.yml Change paths to use woodpecker instead of drone (#494) 2021-10-28 14:02:43 -05:00
docker-compose.gitpod.yml Add gitpod setup (#1020) 2022-07-31 17:07:18 +02:00
go.mod Add when evaluate filter (#1213) 2022-10-06 01:49:23 +02:00
go.sum Add when evaluate filter (#1213) 2022-10-06 01:49:23 +02:00
LICENSE Optimize license files (#355) 2021-09-25 15:15:54 +02:00
Makefile Replace yarn with pnpm (#1240) 2022-10-08 16:15:07 +02:00
README.md Fix gitpod link (#1228) 2022-10-01 13:54:19 +02:00
SECURITY.md Create SECURITY.md (#396) 2021-10-03 16:15:58 +02:00

Woodpecker


Translation status


Woodpecker

Woodpecker is a community fork of the Drone CI system.

woodpecker

🫶 Support

Please consider to donate and become a backer. 🙏 [Become a backer]

🚀 Usage

.woodpecker.yml

  • Place your pipeline in a file named .woodpecker.yml in your repository
  • Pipeline steps can be named as you like
  • Run any command in the commands section

Read More

Build steps are containers

  • Define any Docker image as context
  • Install the needed tools in custom Docker images, use them as context

Read More

Plugins

Woodpecker has official plugins, but you can also use your own.

Read More

📖 Documentation

https://woodpecker-ci.org/

Contribute

See Contributing Guide

Open in Gitpod

📣 Translate

We use an own Weblate instance at translate.woodpecker-ci.org.

Translation status

👋 Who uses Woodpecker?

Codeberg, the Woodpecker project itself, and many others.

Leave a comment if you're using it as well.

Also consider using the topic WoodpeckerCI in your repository, so others can learn from your config and use the hashtag #WoodpeckerCI when talking about the project on social media!

Here are some places where people mention Woodpecker:

Stars over time

Stargazers over time

License

Woodpecker is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply.

Files under the docs/ folder are licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License.