\r\n \u003Clink rel=\"alternate icon\" type=\"image/png\" href=\"/favicons/favicon-light-default.png\" id=\"favicon-png\" />\r\n \u003Clink rel=\"icon\" type=\"image/svg+xml\" href=\"/favicons/favicon-light-default.svg\" id=\"favicon-svg\" />\r\n \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\r\n \u003Cmeta name=\"theme-color\" content=\"#65a30d\" />\r\n \u003Ctitle>Woodpecker\u003C/title>\r\n \u003Cscript type=\"\" src=\"/web-config.js\">\u003C/script>\r\n \u003Cscript type=\"module\" crossorigin src=\"/assets/index-4b7b57db.js\">\u003C/script>\r\n \u003Clink rel=\"stylesheet\" href=\"/assets/index-f123c06a.css\">\r\n \u003C/head>\r\n \u003Cbody>\r\n \u003Cdiv id=\"app\">\u003C/div>\r\n\r\n \u003C/body>\r\n\u003C/html>\r\n```\r\n\r\nThat is basically an \"empty\" page. Let's look at the response code:\r\n```\r\n$ curl -I http://localhost:8000/foo\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nThat should have returned 404.\r\n\r\nNow let's request a non-existent API endpoint:\r\n```\r\n$ curl -I http://localhost:8000/api/bar\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing.\r\n\r\nNow let's request a real API endpoint, for healthchecks:\r\n```\r\n$ curl http://localhost:8000/api/healthz\r\n\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"en\">\r\n # ...\r\n\u003C/html>\r\n\r\n$ curl -I http://localhost:8000/api/healthz\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing. Also, it should not return a page, only a REST response.\r\n\r\nClean up:\r\n```\r\n$ apk delete curl\r\n$ exit\r\n```\r\n\r\nSummary:\r\n- both existent and non-existent endpoints and pages respond with 200\r\n- that means the `/api/healthz` endpoint is not working: it's a \"proof of life\" rather than \"proof of health\"\r\n- and the health endpoint should only return a json REST response, not a page\r\n\r\n### System Info\r\n\r\n```shell\r\nversion next-45319b24-alpine\r\ndockerised\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\r\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.\r\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]\r\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2932,2935],{"name":2933,"color":2934},"bug","d73a4a",{"name":2900,"color":2901},1947,"All pages and API endpoints (including non-existent ones) return 200","2025-03-16T13:50:31Z","https://github.com/woodpecker-ci/woodpecker/issues/1947",0.766891,{"description":2942,"labels":2943,"number":2946,"owner":2875,"repository":2876,"state":2947,"title":2948,"updated_at":2949,"url":2950,"score":2951},"### Component\r\n\r\nserver\r\n\r\n### Describe the bug\r\n\r\nAfter I run a simple rust test job, the server crashes because of `Write called after Handler finished`.\r\n\r\nThis is a new instance, trying to follow the docs as much as possible, on a digital ocean docker container instance.\r\n\r\n### System Info\r\n\r\n\r\nversion:\r\n```\r\nsource\t\"https://github.com/woodpecker-ci/woodpecker\"\r\nversion\t\"0.15.5\"\r\n```\r\n\r\ndocker-compose:\r\n```\r\nversion: '3'\r\n\r\nservices:\r\n woodpecker-server:\r\n image: woodpeckerci/woodpecker-server:latest\r\n restart: always\r\n ports:\r\n - 8000:8000\r\n - 9000:9000\r\n - 80:80\r\n - 443:443\r\n volumes:\r\n - woodpecker-server-data:/var/lib/woodpecker/\r\n environment:\r\n - WOODPECKER_OPEN=true\r\n - WOODPECKER_HOST=https://omitted\r\n - WOODPECKER_AGENT_SECRET=omitted\r\n - WOODPECKER_GITEA=true\r\n - WOODPECKER_GITEA_URL=omitted\r\n - WOODPECKER_GITEA_CLIENT=omitted\r\n - WOODPECKER_GITEA_SECRET=omitted\r\n - WOODPECKER_LETS_ENCRYPT=true\r\n\r\n woodpecker-agent:\r\n image: woodpeckerci/woodpecker-agent:latest\r\n command: agent\r\n restart: always\r\n depends_on:\r\n - woodpecker-server\r\n volumes:\r\n - /var/run/docker.sock:/var/run/docker.sock\r\n environment:\r\n - WOODPECKER_SERVER=woodpecker-server:9000\r\n - WOODPECKER_AGENT_SECRET=omitted\r\n - WOODPECKER_MAX_PROCS=4\r\n\r\nvolumes:\r\n woodpecker-server-data:\r\n```\r\n\r\n.woodpecker.yml:\r\n```\r\npipeline:\r\n test:\r\n image: rust\r\n commands:\r\n - cd rust-folder\r\n - cargo test\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n```\r\nroot@docker-ubuntu-c-2-4gib-nyc1-01:~# docker-compose up -d \r\nRecreating root_woodpecker-server_1 ... done \r\nRecreating root_woodpecker-agent_1 ... done \r\nroot@docker-ubuntu-c-2-4gib-nyc1-01:~# docker-compose logs -f \r\nAttaching to root_woodpecker-agent_1, root_woodpecker-server_1 \r\nwoodpecker-server_1 | {\"time\":\"2022-10-22T17:10:12Z\",\"message\":\"LogLevel = warn\"} \r\nwoodpecker-agent_1 | {\"level\":\"error\",\"error\":\"io: read/write on closed pipe\",\"time\":\"2022-10-22T17:10:42Z\",\"message\":\"copy limited logStream part\"} \r\nwoodpecker-agent_1 | {\"level\":\"error\",\"error\":\"rpc error: code = Unavailable desc = closing transport due to: connection error: desc = \\\"error reading from server: EOF\\\", received prior go\r\naway: code: ENHANCE_YOUR_CALM, debug data: \\\"too_many_pings\\\"\",\"time\":\"2022-10-22T17:11:13Z\",\"message\":\"grpc error: wait(): code: Unavailable: rpc error: code = Unavailable desc = closing tr\r\nansport due to: connection error: desc = \\\"error reading from server: EOF\\\", received prior goaway: code: ENHANCE_YOUR_CALM, debug data: \\\"too_many_pings\\\"\"} \r\nwoodpecker-agent_1 | {\"level\":\"error\",\"error\":\"io: read/write on closed pipe\",\"time\":\"2022-10-22T17:12:47Z\",\"message\":\"copy limited logStream part\"}\r\nwoodpecker-agent_1 | {\"level\":\"error\",\"error\":\"Error response from daemon: Cannot kill container: 0_1428886657477204797_clone: Container acdb5d89928689be75e01b1dee62be669f5d36332a0dddc10bf\r\nfd0710f9e3972 is not running\",\"time\":\"2022-10-22T17:12:47Z\",\"message\":\"could not kill container '0_1428886657477204797_clone'\"}\r\nwoodpecker-agent_1 | {\"level\":\"error\",\"error\":\"Error response from daemon: Cannot kill container: 0_1428886657477204797_step_0: Container cf3fa3e9941773b78245901ae8c3e69613851625d5ea4f6ca0\r\n0ab13d8cc83a14 is not running\",\"time\":\"2022-10-22T17:12:47Z\",\"message\":\"could not kill container '0_1428886657477204797_stage_0'\"}\r\nwoodpecker-server_1 | panic: Write called after Handler finished\r\nwoodpecker-server_1 | \r\nwoodpecker-server_1 | goroutine 189 [running]:\r\nwoodpecker-server_1 | net/http.(*http2responseWriter).write(0xc00045d500?, 0xc000678688?, {0x0?, 0xf93260?, 0x102a820?}, {0x10e7646?, 0xc0000120d8?})\r\nwoodpecker-server_1 | /usr/local/go/src/net/http/h2_bundle.go:6431 +0x150\r\nwoodpecker-server_1 | net/http.(*http2responseWriter).WriteString(0xc0006786c0?, {0x10e7646?, 0xc0000120d8?})\r\nwoodpecker-server_1 | /usr/local/go/src/net/http/h2_bundle.go:6424 +0x2e\r\nwoodpecker-server_1 | io.WriteString({0x7fd7d37bed98, 0xc0000120d8}, {0x10e7646, 0x18})\r\nwoodpecker-server_1 | /usr/local/go/src/io/io.go:312 +0x5d\r\nwoodpecker-server_1 | github.com/gin-gonic/gin.(*responseWriter).WriteString(0xc0006d8400, {0x10e7646, 0x18})\r\nwoodpecker-server_1 | /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/response_writer.go:85 +0x7b\r\nwoodpecker-server_1 | io.WriteString({0x7fd7d3fefa18, 0xc0006d8400}, {0x10e7646, 0x18})\r\nwoodpecker-server_1 | /usr/local/go/src/io/io.go:312 +0x5d\r\nwoodpecker-server_1 | github.com/woodpecker-ci/woodpecker/server/api.LogStreamSSE.func2()\r\nwoodpecker-server_1 | /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/stream.go:199 +0x192\r\nwoodpecker-server_1 | created by github.com/woodpecker-ci/woodpecker/server/api.LogStreamSSE\r\nwoodpecker-server_1 | /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/stream.go:179 +0x59b\r\nwoodpecker-agent_1 | {\"level\":\"error\",\"error\":\"rpc error: code = Unavailable desc = error reading from server: EOF\",\"time\":\"2022-10-22T17:12:48Z\",\"message\":\"grpc error: wait(): code: Unava\r\nilable: rpc error: code = Unavailable desc = error reading from server: EOF\"}\r\n\r\n```\r\n\r\n### Validations\r\n\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\r\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.\r\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2944,2945],{"name":2933,"color":2934},{"name":2900,"color":2901},1322,"closed","Server crashes after job runs","2023-06-06T12:30:21Z","https://github.com/woodpecker-ci/woodpecker/issues/1322",0.7156035,{"description":2953,"labels":2954,"number":2959,"owner":2875,"repository":2876,"state":2947,"title":2960,"updated_at":2961,"url":2962,"score":2963},"### Component\n\nagent\n\n### Describe the bug\n\nRepository has registry secret for myregistry.tld\r\nStep in workflow references myregistry.tld/path/my-plugin:latest\r\nAgent creates build pod, but references non-existing pull-secret \"regcred\":\r\n\r\n```yaml\r\napiVersion: v1\r\nkind: Pod\r\n#...\r\nspec:\r\n containers:\r\n - #...\r\n image: myregistry.tld/path/my-plugin:latest\r\n imagePullPolicy: Always\r\n name: wp-...\r\n #...\r\n imagePullSecrets:\r\n - name: regcred\r\n```\r\n\n\n### System Info\n\n```shell\ndocker.io/woodpeckerci/woodpecker-server:next (sha256:391eb21a843bf7e38bb4bfd5a529452e31733d90a494c6d3e783f8f1ac3630b3)\r\ndocker.io/woodpeckerci/woodpecker-agent:next (sha256:60a04e5b59bbec66bf5a61fc15fcbd8f4b44693602893d10e6f74270f21d2915)\r\nkubernetes 1.28.2\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md).\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]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2955,2956],{"name":2886,"color":2887},{"name":2957,"color":2958},"backend/kubernetes","bfdadc",2987,"Kubernetes backend references non-existing pull secret: regcred","2024-09-30T00:03:07Z","https://github.com/woodpecker-ci/woodpecker/issues/2987",0.72937435,{"description":2965,"labels":2966,"number":2974,"owner":2875,"repository":2876,"state":2947,"title":2975,"updated_at":2976,"url":2977,"score":2978},"### Component\r\n\r\nweb-ui\r\n\r\n### Describe the bug\r\n\r\n@anbraten \r\n\r\n- [x] This does not work on light theme (fix: #2765):\r\n \r\n Looks like the SVG has a hardcoded backend color which if `fff`\r\n- [x] And if you're on next if there's an update it links to a not existing release page. (see https://ci.woodpecker-ci.org/admin#info), e.g. https://github.com/woodpecker-ci/woodpecker/releases/tag/next-fe48928 #2871 \r\n- [ ] if our CI does not update the docs because of `path` filters the version.json file is not updated.\r\n- [ ] if only `docs` wf runs the version.json is updated even though there's no new docker image\r\n- [x] RC versions are never respected #2871 \r\n \r\n\r\n\r\n### System Info\r\n\r\n```shell\r\nafter #2722\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\r\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.\r\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]\r\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2967,2968,2971],{"name":2933,"color":2934},{"name":2969,"color":2970},"build","6AB8BA",{"name":2972,"color":2973},"summary","C3DC73",2748,"Fix version check","2024-01-03T09:31:50Z","https://github.com/woodpecker-ci/woodpecker/issues/2748",0.73423475,{"description":2980,"labels":2981,"number":2983,"owner":2875,"repository":2876,"state":2947,"title":2984,"updated_at":2985,"url":2986,"score":2987},"### Component\n\nserver\n\n### Describe the bug\n\nPipeline status for cancelled pipeline is wrong:\r\n\r\n\r\n\r\n\r\n\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"next-63d5c40a\"}\r\n```\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md).\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]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2982],{"name":2933,"color":2934},2197,"Wrong pipeline status","2024-08-30T09:44:57Z","https://github.com/woodpecker-ci/woodpecker/issues/2197",0.7457159,["Reactive",2989],{},["Set"],["ShallowReactive",2992],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fs36seDmsGbd89afVHnB_M1b4g0orUWs7MJyWsV_m5Ps":-1},"/woodpecker-ci/woodpecker/3109"]