\n\nAnd here is the outcome on BitBucket:\n\u003Cimg width=\"479\" height=\"182\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/11c2a65d-cbf2-4162-9805-3d035bdac04e\" />\n\n\n### Steps to reproduce\n\n1. Run Woodpecker with BitBucket Cloud forge\n2. Create a pipeline that uses a matrix\n3. Let the pipeline finish on Woodpecker\n4. Observe the build statuses on the commit in BitBucket\n\n### Expected behavior\n\nBoth pipelines should show completed.\n\n### System Info\n\n```shell\nWoodpecker version: v3.8.0\n```\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [x] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [x] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/versions]",[3083],{"name":3020,"color":3021},5338,"Build status not completing on matrix pipelines with BitBucket","2025-07-17T18:03:12Z","https://github.com/woodpecker-ci/woodpecker/issues/5338",0.70775133,{"description":3090,"labels":3091,"number":3098,"owner":3026,"repository":3027,"state":3099,"title":3100,"updated_at":3101,"url":3102,"score":3103},"### Component\n\nserver\n\n### Describe the bug\n\nIf you have a repository on forgejo with more than 1000 files that are sorted before the 'pipeline path' directory, woodpecker will be unable to find the configuration file(s).\n\nThis most likely happens because woodpecker relies on the `api/v1/repos/$OWNER/$REPOSITORY/git/trees/$sha?recursive=1` api call which is paginated on every 1000 items and might not include the actual pipeline config file(s) if enough other files are sorted in front.\n\nThis can be observed by looking at the forgejo router logs which i have attached below.\n\nThis might be something similar to what happened in #1514 but i don't get the explicit 'config not found' error, neither in the UI nor in the woodpecker logs.\n\n\n### Steps to reproduce\n\n1. Have a generally working Woodpecker Server properly configured for a forgejo instance\n2. Create a new repository with a woodpecker workflow configured in `.woodpecker/stuff.yml` and >1000 files in `.ansible/`\n3. Try to trigger any kind of pipeline.\n4. The woodpecker UI will show \"No pipelines have been started yet.\" for the configured repository no matter how hard you try to start a pipeline.\n\n### Expected behavior\n\nI would expect pipelines configured in the **default** location to just work no matter what.\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"3.0.1\"}\n\nForgejo version: 10.0.0\n```\n\n### Additional context\n\n\u003Cdetails>\n\u003Csummary>Forgejo router logs for one webhook trigger\u003C/summary>\n\n```\n2025-01-27 21:06:20.715\t\u003C5>router: completed GET /api/v1/repos/histalek/infrastructure/git/trees/4788b8cb23b10ba4e6c8317b91e739a504c15fac?recursive=1 for 10.89.0.3:38568, 200 OK in 193.0ms @ repo/tree.go:14(repo.GetTree)\n\n2025-01-27 21:06:20.725\t\u003C5>router: completed GET /api/v1/version for 10.89.0.3:38568, 200 OK in 1.1ms @ misc/version.go:15(misc.Version)\n\n2025-01-27 21:06:20.760\t\u003C5>router: completed GET /api/v1/repos/histalek/infrastructure/raw/.woodpecker/?ref=4788b8cb23b10ba4e6c8317b91e739a504c15fac for 10.89.0.3:38568, 404 Not Found in 33.0ms @ repo/file.go:43(repo.GetRawFile)\n\n2025-01-27 21:06:20.765\t\u003C5>router: completed GET /api/v1/version for 10.89.0.3:38568, 200 OK in 1.5ms @ misc/version.go:15(misc.Version)\n\n2025-01-27 21:06:20.787\t\u003C5>router: completed GET /api/v1/repos/histalek/infrastructure/raw/.woodpecker.yaml?ref=4788b8cb23b10ba4e6c8317b91e739a504c15fac for 10.89.0.3:38568, 404 Not Found in 19.3ms @ repo/file.go:43(repo.GetRawFile)\n\n2025-01-27 21:06:20.791\t\u003C5>router: completed GET /api/v1/version for 10.89.0.3:38568, 200 OK in 1.2ms @ misc/version.go:15(misc.Version)\n\n2025-01-27 21:06:20.811\t\u003C5>router: completed GET /api/v1/repos/histalek/infrastructure/raw/.woodpecker.yml?ref=4788b8cb23b10ba4e6c8317b91e739a504c15fac for 10.89.0.3:38568, 404 Not Found in 18.0ms @ repo/file.go:43(repo.GetRawFile)\n\n2025-01-27 21:06:20.855\t\u003C5>router: polling GET /user/events for 10.89.0.3:38566, elapsed 3226.2ms @ events/events.go:18(events.Events)\n```\n\n\u003C/details>\n\nIf you would call `/api/v1/repos/histalek/infrastructure/git/trees/4788b8cb23b10ba4e6c8317b91e739a504c15fac?recursive=1 ` manually and inspect the output you would not find any files in '.woodpecker/'. (In my case that is because i have ~15.000 files in `.ansible/`; ansible collections ...).\n\n### Validations\n\n- [x] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [x] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]",[3092,3093,3096],{"name":3020,"color":3021},{"name":3094,"color":3095},"forge/gitea","E96280",{"name":3097,"color":3095},"forge/forgejo",4789,"closed","Woodpecker fails to find contents of 'pipeline path' directory on forgejo","2025-02-15T19:40:36Z","https://github.com/woodpecker-ci/woodpecker/issues/4789",0.65248805,{"description":3105,"labels":3106,"number":3108,"owner":3026,"repository":3027,"state":3099,"title":3109,"updated_at":3110,"url":3111,"score":3112},"### Component\n\nserver\n\n### Describe the bug\n\nWhen a pipeline with multiple workflows starts a correct status is sent at first BitBucket correctly displays that build is in progress. When the build finishes however, only one build is displayed as finished but the other one is still in progress marking the whole commit as in progress(this is internal BitBucket logic). \n\nHere is a pipeline that has two workflows:\n\n\n\nAnd here is the outcome on BitBucket:\n\n\n\nI asked @langecode if he can take a look and we realized that there is a problem in BitBucket forge implementation of `Status` function. It looks like that for each call of `Status` function we send a status of the whole pipeline when we should've sent a status of individual workflows. I.e. change status of https://github.com/woodpecker-ci/woodpecker/blob/main/server/forge/bitbucketdatacenter/bitbucketdatacenter.go#L314\n\nTo:\n```go\nState: convertStatus(workflow.State)\n```\n\n### Steps to reproduce\n\n1. Run woodpecker with BitBucket Datacenter forge\n2. Create a pipeline that has multiple workflows\n3. Let the pipeline finish on woodpecker\n4. Observe the build statuses on the commit in BitBucket\n\n### Expected behavior\n\n_No response_\n\n### System Info\n\n```shell\nWoodpecker version: v3.5.2\nBitBucket Datacenter version: v8.18.1\n```\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [x] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [x] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/versions]",[3107],{"name":3020,"color":3021},5177,"Statuses get incorrectly reported for multi workflow pipelines on BitBucket","2025-05-19T11:01:04Z","https://github.com/woodpecker-ci/woodpecker/issues/5177",0.67199534,{"description":3114,"labels":3115,"number":3117,"owner":3026,"repository":3027,"state":3099,"title":3118,"updated_at":3119,"url":3120,"score":3121},"### Component\n\nserver\n\n### Describe the bug\n\nHello,\n\nI'm migrating from drone, and everything is mostly working as it should, but: whenever my workflow starts, it starts two times and fails the first one immediately. The second one finishes correctly. The error shown says `Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.51/containers/wp_01K10Y619E7X4N0J638B3R001S/start\": context canceled`. \n\nI tried merging the workflow files into one and also deleting my old `.drone.yml`, but that doesn't make a difference.\n\n\u003Cimg width=\"1009\" height=\"211\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/274f9884-8a0e-4681-b207-7f6085890c1b\" />\n\nThis happens on every push. It works fine on a manual run.\n\n### Steps to reproduce\n\nNo clue.\n\n### Expected behavior\n\nWorkflow run starts only one time.\n\n### System Info\n\n```shell\nWoodpecker v3.8.0\nDocker Compose v2.38.2\nDocker v28.3.2\n```\n\n### Additional context\n\ncompose logs:\n\n```\nwpci_agent | Status: Downloaded newer image for woodpeckerci/plugin-git:2.6.5\nwpci_server | {\"level\":\"error\",\"repo_id\":\"1\",\"pipeline_id\":\"21\",\"workflow_id\":\"36\",\"error\":\"stream: not found\",\"time\":\"2025-07-26T05:48:11Z\",\"message\":\"done: cannot close log stream for step 70\"}\nwpci_server | {\"level\":\"error\",\"error\":\"queue: task not found\",\"time\":\"2025-07-26T05:49:14Z\",\"message\":\"queue: evict_at_once: [38]\"}\nwpci_server | {\"level\":\"error\",\"error\":\"sql: no rows in result set\",\"time\":\"2025-07-26T05:49:14Z\",\"message\":\"queue: evict_at_once: [37]\"}\nwpci_agent | {\"level\":\"error\",\"error\":\"rpc error: code = Unknown desc = queue: task canceled\",\"time\":\"2025-07-26T05:49:14Z\",\"message\":\"grpc error: wait(): code: Unknown\"}\nwpci_agent | {\"level\":\"warn\",\"repo\":\"\u003CREPO NAME>\",\"pipeline\":\"22\",\"workflow_id\":\"37\",\"error\":\"rpc error: code = Unknown desc = queue: task canceled\",\"time\":\"2025-07-26T05:49:14Z\",\"message\":\"cancel signal received\"}\nwpci_server | {\"level\":\"error\",\"repo_id\":\"1\",\"pipeline_id\":\"22\",\"workflow_id\":\"37\",\"error\":\"sql: no rows in result set\",\"time\":\"2025-07-26T05:49:15Z\",\"message\":\"queue.Done: cannot ack workflow\"}\nwpci_server | {\"level\":\"error\",\"repo_id\":\"1\",\"pipeline_id\":\"22\",\"workflow_id\":\"37\",\"error\":\"stream: not found\",\"time\":\"2025-07-26T05:49:15Z\",\"message\":\"done: cannot close log stream for step 71\"}\nwpci_server | {\"level\":\"error\",\"repo_id\":\"1\",\"pipeline_id\":\"22\",\"workflow_id\":\"37\",\"error\":\"stream: not found\",\"time\":\"2025-07-26T05:49:15Z\",\"message\":\"done: cannot close log stream for step 72\"}\nwpci_server | {\"level\":\"error\",\"error\":\"sql: no rows in result set\",\"time\":\"2025-07-26T05:49:15Z\",\"message\":\"pull queue item: 38: failed to remove from backup\"}\nwpci_server | {\"level\":\"error\",\"repo_id\":\"1\",\"pipeline_id\":\"22\",\"workflow_id\":\"38\",\"error\":\"stream: not found\",\"time\":\"2025-07-26T05:49:15Z\",\"message\":\"done: cannot close log stream for step 73\"}\nwpci_server | {\"level\":\"error\",\"repo_id\":\"1\",\"pipeline_id\":\"22\",\"workflow_id\":\"38\",\"error\":\"stream: not found\",\"time\":\"2025-07-26T05:49:15Z\",\"message\":\"done: cannot close log stream for step 74\"}\nwpci_agent | latest: Pulling from woodpeckerci/plugin-docker-buildx\n```\n\n.woodpecker/build.yaml\n\n```yaml\nsteps:\n build:\n image: woodpeckerci/plugin-docker-buildx\n when:\n - branch: main\n event: push\n settings:\n # intentionally left out\n```\n\n.woodpecker/deploy.yaml\n\n```yaml\ndepends_on: [ build ]\n\nsteps:\n deploy:\n image: ghcr.io/appleboy/drone-ssh\n when:\n - branch: main\n event: push\n environment:\n # intentionally left out\n settings:\n # intentionally left out\n```\n\ncompose.yaml\n\n```yaml\nservices:\n\n wpci_server:\n image: woodpeckerci/woodpecker-server:v3-alpine\n container_name: wpci_server\n restart: unless-stopped\n ports:\n - 127.0.0.1:9082:9082\n volumes:\n - ./server:/var/lib/woodpecker\n environment:\n - WOODPECKER_FORGEJO=true\n - WOODPECKER_FORGEJO_URL=https://***.org\n - WOODPECKER_FORGEJO_CLIENT=***\n - WOODPECKER_FORGEJO_SECRET=***\n - WOODPECKER_OPEN=false\n - WOODPECKER_ADMIN=***\n - WOODPECKER_HOST=https://***.org\n - WOODPECKER_AGENT_SECRET=***\n - WOODPECKER_GRPC_ADDR=:9090\n - WOODPECKER_SERVER_ADDR=:9082\n - WOODPECKER_PLUGINS_PRIVILEGED=woodpeckerci/plugin-docker-buildx\n \n wpci_agent:\n image: woodpeckerci/woodpecker-agent:v3-alpine\n container_name: wpci_agent\n command: agent\n restart: unless-stopped\n depends_on:\n - wpci_server\n volumes:\n - ./agent:/etc/woodpecker\n - /var/run/docker.sock:/var/run/docker.sock\n environment:\n - WOODPECKER_SERVER=wpci_server:9090\n - WOODPECKER_AGENT_SECRET=***\n - WOODPECKER_PLUGINS_PRIVILEGED=woodpeckerci/plugin-docker-buildx\n```\n\n\n### Validations\n\n- [x] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [x] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/versions]",[3116],{"name":3020,"color":3021},5364,"Workflow run starts two times, fails one immediately","2025-07-26T06:50:04Z","https://github.com/woodpecker-ci/woodpecker/issues/5364",0.67898196,["Reactive",3123],{},["Set"],["ShallowReactive",3126],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f58yM1xTxw9pYNT8AsLN4gQuADwMaZbHJYZfoc5cU8kE":-1},"/woodpecker-ci/woodpecker/3600"]