\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).",[2852,2855],{"name":2853,"color":2854},"bug","d73a4a",{"name":2856,"color":2857},"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":2867,"labels":2868,"number":2875,"owner":2859,"repository":2860,"state":2861,"title":2876,"updated_at":2877,"url":2878,"score":2879},"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",[2869,2872],{"name":2870,"color":2871},"enhancement","7E1FE4",{"name":2873,"color":2874},"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":2881,"labels":2882,"number":2884,"owner":2859,"repository":2860,"state":2861,"title":2885,"updated_at":2886,"url":2887,"score":2888},"### 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]",[2883],{"name":2853,"color":2854},4348,"Poorly formatted global registry can not be deleted.","2024-12-14T07:57:22Z","https://github.com/woodpecker-ci/woodpecker/issues/4348",0.7419385,{"description":2890,"labels":2891,"number":2899,"owner":2859,"repository":2860,"state":2861,"title":2900,"updated_at":2901,"url":2902,"score":2903},"### 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.",[2892,2893,2896],{"name":2856,"color":2857},{"name":2894,"color":2895},"feature","180DBE",{"name":2897,"color":2898},"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":2905,"labels":2906,"number":2913,"owner":2859,"repository":2860,"state":2861,"title":2914,"updated_at":2915,"url":2916,"score":2917},"https://github.com/woodpecker-ci/woodpecker/blob/4456da99c56437ef49c799a047ad3518023e6ce3/pipeline/rpc/peer.go#L54",[2907,2910],{"name":2908,"color":2909},"documentation","7D625D",{"name":2911,"color":2912},"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":2919,"labels":2920,"number":2922,"owner":2859,"repository":2860,"state":2861,"title":2923,"updated_at":2924,"url":2925,"score":2926},"_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",[2921],{"name":2870,"color":2871},3919,"linter: check if image is invalid","2024-07-16T17:43:33Z","https://github.com/woodpecker-ci/woodpecker/issues/3919",0.7530616,{"description":2928,"labels":2929,"number":2934,"owner":2859,"repository":2860,"state":2935,"title":2936,"updated_at":2937,"url":2938,"score":2939},"### 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).",[2930,2931],{"name":2853,"color":2854},{"name":2932,"color":2933},"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":2941,"labels":2942,"number":2944,"owner":2859,"repository":2860,"state":2935,"title":2945,"updated_at":2946,"url":2947,"score":2948},"### 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).",[2943],{"name":2853,"color":2854},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":2950,"labels":2951,"number":2959,"owner":2859,"repository":2860,"state":2935,"title":2960,"updated_at":2961,"url":2962,"score":2963},"always sort default branch to be ontop of the list\r\n\r\n\r\n",[2952,2955,2956],{"name":2953,"color":2954},"ui","46DEA2",{"name":2870,"color":2871},{"name":2957,"color":2958},"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":2965,"labels":2966,"number":2968,"owner":2859,"repository":2860,"state":2935,"title":2969,"updated_at":2970,"url":2971,"score":2972},"### 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).",[2967],{"name":2853,"color":2854},3231,"Agent Cannot Connect To Server","2024-01-20T17:17:39Z","https://github.com/woodpecker-ci/woodpecker/issues/3231",0.7284036,["Reactive",2974],{},["Set"],["ShallowReactive",2977],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fdjxGKg6NWh9CY8jZQoRDMs8HNUdGi82PYHqn_icJGQ4":-1},"/woodpecker-ci/woodpecker/1824"]