\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).",[3139,3142],{"name":3140,"color":3141},"bug","d73a4a",{"name":3143,"color":3144},"server","5D7A92",1947,"woodpecker-ci","woodpecker","open","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.7303459,{"description":3154,"labels":3155,"number":3162,"owner":3146,"repository":3147,"state":3148,"title":3163,"updated_at":3164,"url":3165,"score":3166},"e.g. like https://github.com/woodpecker-ci/woodpecker/pull/3086 create pull tags.\r\n\r\njust clean them up if the pull gets closed",[3156,3159],{"name":3157,"color":3158},"enhancement","7E1FE4",{"name":3160,"color":3161},"build","6AB8BA",3087,"build: delete pr images on pull close","2023-12-31T07:28:26Z","https://github.com/woodpecker-ci/woodpecker/issues/3087",0.7359784,{"description":3168,"labels":3169,"number":3171,"owner":3146,"repository":3147,"state":3148,"title":3172,"updated_at":3173,"url":3174,"score":3175},"### Component\n\nserver\n\n### Describe the bug\n\nWhen adding a global registry, if you add the protocol (ie https://), the entry is not removable via the UI.\n\n### Steps to reproduce\n\ncreate two global registry records, mytest.local, and https://mytest.local.\r\n\r\nmytest.local will be removable.\r\nhttps://mytest.local will say it's being removed, but will persist.\n\n### Expected behavior\n\nBoth records should be removed.\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"2.7.3\"}\n```\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/faq#which-version-of-woodpecker-should-i-use]",[3170],{"name":3140,"color":3141},4348,"Poorly formatted global registry can not be deleted.","2024-12-14T07:57:22Z","https://github.com/woodpecker-ci/woodpecker/issues/4348",0.74193853,{"description":3177,"labels":3178,"number":3186,"owner":3146,"repository":3147,"state":3148,"title":3187,"updated_at":3188,"url":3189,"score":3190},"### Clear and concise description of the problem\n\nThe \"Run pipeline\" button in the UI, which is triggered for `\"event: manual\"`, currently executes all existing pipeline definitions under `.woodpecker/`.\n\n### Suggested solution\n\nThe button could allow invoking specific pipelines only instead of starting all existing ones.\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\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 request the same feature to avoid creating a duplicate.",[3179,3180,3183],{"name":3143,"color":3144},{"name":3181,"color":3182},"feature","180DBE",{"name":3184,"color":3185},"ux","fef2c0",2763,"Run pipeline: allow executing a single/specific pipeline if more than one pipeline definitions exist","2023-12-20T12:51:01Z","https://github.com/woodpecker-ci/woodpecker/issues/2763",0.74203235,{"description":3192,"labels":3193,"number":3200,"owner":3146,"repository":3147,"state":3148,"title":3201,"updated_at":3202,"url":3203,"score":3204},"https://github.com/woodpecker-ci/woodpecker/blob/4456da99c56437ef49c799a047ad3518023e6ce3/pipeline/rpc/peer.go#L54",[3194,3197],{"name":3195,"color":3196},"documentation","7D625D",{"name":3198,"color":3199},"refactor","4f8cc9",3322,"Rename Interface to actully reflect what it is used for","2024-02-07T00:03:34Z","https://github.com/woodpecker-ci/woodpecker/issues/3322",0.7442481,{"description":3206,"labels":3207,"number":3209,"owner":3146,"repository":3147,"state":3148,"title":3210,"updated_at":3211,"url":3212,"score":3213},"_as per https://github.com/woodpecker-ci/woodpecker/issues/3856#issuecomment-2231454406_\r\n\r\nhave some regex / heuristics that check if the image could be valid in the first place",[3208],{"name":3157,"color":3158},3919,"linter: check if image is invalid","2024-07-16T17:43:33Z","https://github.com/woodpecker-ci/woodpecker/issues/3919",0.7530616,{"description":3215,"labels":3216,"number":3221,"owner":3146,"repository":3147,"state":3222,"title":3223,"updated_at":3224,"url":3225,"score":3226},"### Component\n\nagent\n\n### Describe the bug\n\npipeline file like this\r\n```yml\r\n---\r\nlabels:\r\n platform: linux/amd64\r\n backend: local\r\n\r\nsteps:\r\n hello:\r\n image: bash\r\n commands:\r\n - uname -a\r\n - pwd\r\n - echo $${CI_WORKSPACE}\r\n - ls -AFlh\r\n - echo \"hello world 你好\"\r\n - touch hello.txt\r\n - echo $${PATH}\r\n\r\n 测试:\r\n image: bash\r\n commands:\r\n - uname -a\r\n - pwd\r\n - ls -AFlh\r\n - echo \"hello world 你好 测试\"\r\n```\r\n\r\nCI_WORKSPACE set wrong in local backends\r\n\r\n\r\n\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"1.0.3\"}\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).",[3217,3218],{"name":3140,"color":3141},{"name":3219,"color":3220},"backend/local","bfdadc",2610,"closed","CI_WORKSPACE set wrong in local backends","2023-10-23T10:54:12Z","https://github.com/woodpecker-ci/woodpecker/issues/2610",0.6890805,{"description":3228,"labels":3229,"number":3231,"owner":3146,"repository":3147,"state":3222,"title":3232,"updated_at":3233,"url":3234,"score":3235},"### Component\n\nweb-ui\n\n### Describe the bug\n\nWriting secrets with uppercase i.e. `OCI_TOKEN` is being interpreted as `oci_token` for the web UI although it stays as `OCI_TOKEN` in the workflow.\n\n### System Info\n\n```shell\n`{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"next-5bd12aa646\"}`\n```\n\n\n### Additional context\n\nMight be related to https://github.com/woodpecker-ci/woodpecker/issues/2084\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).",[3230],{"name":3140,"color":3141},2368,"Woodpecker UI isn't showing secrets's names with uppercase.","2024-02-20T13:20:27Z","https://github.com/woodpecker-ci/woodpecker/issues/2368",0.70703226,{"description":3237,"labels":3238,"number":3246,"owner":3146,"repository":3147,"state":3222,"title":3247,"updated_at":3248,"url":3249,"score":3250},"always sort default branch to be ontop of the list\r\n\r\n\r\n",[3239,3242,3243],{"name":3240,"color":3241},"ui","46DEA2",{"name":3157,"color":3158},{"name":3244,"color":3245},"good first issue","76ea72",2845,"make default branch first item in branch view in repos","2023-12-26T06:37:15Z","https://github.com/woodpecker-ci/woodpecker/issues/2845",0.72048855,{"description":3252,"labels":3253,"number":3255,"owner":3146,"repository":3147,"state":3222,"title":3256,"updated_at":3257,"url":3258,"score":3259},"### Component\n\nserver, agent\n\n### Describe the bug\n\nThe server seems to refuse connections on port 9000, even though it says it is listening.\n\n### System Info\n\n```shell\n2.1.1\r\n\r\nThis is running in kubernetes via a custom helm chart.\r\n\r\nI have the server available through a traefik ingress.\r\n\r\nThe gRPC service is available to the agent as a clusterIP.\r\n\r\nI did also try this with the `latest` image tag for both the server and the agent.\n```\n\n\n### Additional context\n\nAgent logs:\r\n```\r\n{\"level\":\"info\",\"time\":\"2024-01-20T15:16:24Z\",\"caller\":\"/src/cmd/common/logger.go:100\",\"message\":\"LogLevel = trace\"}\r\n{\"level\":\"info\",\"time\":\"2024-01-20T15:16:24Z\",\"caller\":\"/src/cmd/agent/config.go:45\",\"message\":\"no agent config found at '/etc/woodpecker/agent.conf', start with defaults\"}\r\nrpc error: code = DeadlineExceeded desc = context deadline exceeded\r\n```\r\n\r\nGiven that there is no shell (scratch image) on either the server or the agent, I could not exec in and do any diagnostics.\r\n\r\nI did run a `kubectl exec ... /bin/woodpecker-server`:\r\n```\r\n3:26PM INF LogLevel = info\r\n3:26PM FTL failed to listen on grpc-addr error=\"listen tcp :9000: bind: address already in use\"\r\n```\r\n\r\nI have also written an `initContainer` for the agent:\r\n\r\n```\r\nwhile ! nc -z woodpecker.woodpecker.svc.cluster.local 9000; do\r\n echo \"Waiting for port 9000 to be available...\"\r\n sleep 2\r\ndone\r\n```\r\n\r\nUnfortunately, this hangs indefinitely.\r\n\r\n\r\nAlso, your [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md) link does not exist.\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).",[3254],{"name":3140,"color":3141},3231,"Agent Cannot Connect To Server","2024-01-20T17:17:39Z","https://github.com/woodpecker-ci/woodpecker/issues/3231",0.7284037,["Reactive",3261],{},["Set"],["ShallowReactive",3264],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fdjxGKg6NWh9CY8jZQoRDMs8HNUdGi82PYHqn_icJGQ4":-1},"/woodpecker-ci/woodpecker/1824"]