\r\n\n\n### Steps to reproduce\n\n.\n\n### Expected behavior\n\n_No response_\n\n### System Info\n\n```shell\n\"next-d126cf9e35\"\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]",[2867,2870],{"name":2868,"color":2869},"bug","d73a4a",{"name":2871,"color":2872},"ui","46DEA2",4677,"woodpecker-ci","woodpecker","open","`tag` pipelines are missing avatar and commit title","2025-01-12T06:19:42Z","https://github.com/woodpecker-ci/woodpecker/issues/4677",0.7630717,{"description":2882,"labels":2883,"number":2888,"owner":2874,"repository":2875,"state":2876,"title":2889,"updated_at":2890,"url":2891,"score":2892},"### Component\n\nagent\n\n### Describe the bug\n\nDue to the nature of the GKE Autopilot cluster and my budget limit I have to configure the storage as RWO. The problem is that several pods can potentially be created at different nodes. This causes the volume not to be released until the pod of the corresponding step is finished.\nIn case is a service pod that does not terminate until the end of the workflow it can have the volume forever and end up giving timeout.\nWould it be possible not to mount volume in the services?\n\n### Steps to reproduce\n\n1. Install Woodpecker CI server and kubernetes backend agents with the helm chart.\n2. Run a repo pipeline with parallel steps and a service.\n\n### Expected behavior\n\nI would like the workflow not to get stuck when a service attaches the volume. We could avoid this by making it optional to mount the volume on the service.\n\n### System Info\n\n```shell\nWoodpecker CI 3.0.1\nGKE Autopilot 1.30.8-gke\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]",[2884,2885],{"name":2868,"color":2869},{"name":2886,"color":2887},"backend/kubernetes","bfdadc",4795,"FailedAttachVolume with K8s backend in GKE Autopilot","2025-03-18T13:46:26Z","https://github.com/woodpecker-ci/woodpecker/issues/4795",0.77176607,{"description":2894,"labels":2895,"number":2905,"owner":2874,"repository":2875,"state":2876,"title":2906,"updated_at":2907,"url":2908,"score":2909},"### Clear and concise description of the problem\n\nNo documentation on how to setup the CI using binary packages. The docs only explain how to install it using docker.\n\n### Suggested solution\n\nProvide documentation on how to use binary packages and setup the CI e.g. sample system service scripts with the environment variable and database config.\n\n### Alternative\n\n_No response_\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/master/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.",[2896,2899,2902],{"name":2897,"color":2898},"documentation","7D625D",{"name":2900,"color":2901},"enhancement","7E1FE4",{"name":2903,"color":2904},"good first issue","76ea72",1292,"Add docs on how to setup using the binary packages","2023-03-26T20:17:21Z","https://github.com/woodpecker-ci/woodpecker/issues/1292",0.7735277,{"description":2911,"labels":2912,"number":2915,"owner":2874,"repository":2875,"state":2876,"title":2916,"updated_at":2917,"url":2918,"score":2919},"### Clear and concise description of the problem\n\nOn the \"Settings > Queue\" page, tasks with dependencies list which task they're waiting for with a `waiting for ####` label. Tasks with dependencies that haven't finished yet are marked before the task ID with a red circle with a square punched out of the middle. Tasks with completed dependencies still display the `waiting for` label, but the task ID marker is just an empty circle. It can be confusing to see a task list a dependency with an ID number that is no longer visible in the queue, because it has finished.\n\n### Suggested solution\n\nI propose that the `waiting for` label is removed once that dependent task is finished and removed from the queue display.\n\n### Alternative\n\nAlternatively, don't remove dependent tasks from the queue until all related tasks are complete. Mark completed tasks with a checkmark in a green circle.\r\n\r\nRemoving the `waiting for` label is probably the preferred option.\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.",[2913,2914],{"name":2871,"color":2872},{"name":2900,"color":2901},2574,"Queued tasks should drop \"waiting for\" after the dependent task completes","2023-10-12T15:59:46Z","https://github.com/woodpecker-ci/woodpecker/issues/2574",0.7735918,{"description":2921,"labels":2922,"number":2928,"owner":2874,"repository":2875,"state":2929,"title":2930,"updated_at":2931,"url":2932,"score":2933},"https://github.com/woodpecker-ci/woodpecker/blob/master/server/store/datastore/build.go#L100\r\n\r\nFrom https://github.com/woodpecker-ci/woodpecker/pull/796",[2923,2926,2927],{"name":2924,"color":2925},"server","5D7A92",{"name":2900,"color":2901},{"name":2903,"color":2904},1257,"closed","Check if repo exists before creating pipeline","2022-10-21T23:34:14Z","https://github.com/woodpecker-ci/woodpecker/issues/1257",0.7303142,{"description":2935,"labels":2936,"number":2937,"owner":2874,"repository":2875,"state":2929,"title":2938,"updated_at":2939,"url":2940,"score":2941},"this is just a basic idea of an tool - should be maintained in an independent place (sec repo?) - that is able to convert lets say ... gitlab ci config into woodpecker and visa versa.\r\n\r\nthat way migration can be easier & we could eventaul add a plugin doing translation for woodpecker so we can run ... for example github actions.",[],377,"[Idea] CI config converter","2024-02-11T08:41:52Z","https://github.com/woodpecker-ci/woodpecker/issues/377",0.74213177,{"description":2943,"labels":2944,"number":2948,"owner":2874,"repository":2875,"state":2929,"title":2949,"updated_at":2950,"url":2951,"score":2952},"### Component\n\nserver\n\n### Describe the bug\n\nCurrently in some places this would be checked but in other places not. We should make it consistent.\r\n\r\nhttps://github.com/woodpecker-ci/woodpecker/pull/1672/commits/c99d72bb0cef79f412538c1b96efbb9cf7545073\n\n### System Info\n\n```shell\nlatest\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/master/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).",[2945,2946,2947],{"name":2868,"color":2869},{"name":2924,"color":2925},{"name":2903,"color":2904},1675,"Make code consistent when deleting to return 404 status if not found","2023-04-15T13:22:40Z","https://github.com/woodpecker-ci/woodpecker/issues/1675",0.74410063,{"description":2954,"labels":2955,"number":2963,"owner":2874,"repository":2875,"state":2929,"title":2964,"updated_at":2965,"url":2966,"score":2967},"### Component\n\nother\n\n### Describe the bug\n\nI tried to use the Gitpop linked in the Readme, but it doesn't work. Seems like the Go Version is to old.\n\n### System Info\n\n```shell\nNone\n```\n\n\n### Additional context\n\nThe log:\r\n```\r\n HISTFILE=/workspace/.gitpod/cmd-4 history -r; {\r\ncd docs/\r\n\r\n} && {\r\npnpm install\r\npnpm build:woodpecker-plugins\r\n\r\n} && {\r\npnpm start --port 4000\r\n\r\n}\r\ngitpod /workspace/woodpecker (master) $ HISTFILE=/workspace/.gitpod/cmd-4 history -r; {\r\n> cd docs/\r\n> \r\n> } && {\r\n> pnpm install\r\n> pnpm build:woodpecker-plugins\r\n> \r\n> } && {\r\n> pnpm start --port 4000\r\n> \r\n> }\r\nScope: all 2 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +1137\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\r\n ╭─────────────────────────────────────────────────────────────────╮\r\n │ │\r\n │ Update available! 8.3.1 → 8.6.5. │\r\n │ Changelog: https://github.com/pnpm/pnpm/releases/tag/v8.6.5 │\r\n │ Run \"pnpm add -g pnpm\" to update. │\r\n │ │\r\n │ Follow @pnpmjs for updates: https://twitter.com/pnpmjs │\r\n │ │\r\n ╰─────────────────────────────────────────────────────────────────╯\r\n\r\nPackages are cloned from the content-addressable store to the virtual store.\r\n Content-addressable store is at: /workspace/.pnpm-store/v3\r\n Virtual store is at: node_modules/.pnpm\r\nDownloading registry.npmjs.org/typescript/4.9.5: 11.6 MB/11.6 MB, done\r\nProgress: resolved 1137, reused 0, downloaded 1135, added 1137, done\r\nnode_modules/.pnpm/core-js-pure@3.25.5/node_modules/core-js-pure: Running postinstall script, done in 69ms\r\nnode_modules/.pnpm/core-js@3.25.5/node_modules/core-js: Running postinstall script, done in 102ms\r\nnode_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild: Running postinstall script, done in 137ms\r\n\r\ndependencies:\r\n+ @docusaurus/core 2.4.0\r\n+ @docusaurus/preset-classic 2.4.0\r\n+ @easyops-cn/docusaurus-search-local 0.35.0\r\n+ @mdx-js/react 1.6.22\r\n+ @svgr/webpack 6.5.1\r\n+ clsx 1.2.1\r\n+ esbuild-loader 2.21.0\r\n+ file-loader 6.2.0\r\n+ prism-react-renderer 1.3.5\r\n+ react 17.0.2\r\n+ react-dom 17.0.2\r\n+ redocusaurus 1.6.2\r\n+ url-loader 4.1.1\r\n\r\ndevDependencies:\r\n+ @docusaurus/module-type-aliases 2.4.0\r\n+ @tsconfig/docusaurus 1.0.7\r\n+ @types/react 18.0.32\r\n+ @types/react-helmet 6.1.6\r\n+ @types/react-router-dom 5.3.3\r\n+ typescript 4.9.5\r\n\r\nThe integrity of 3271 files was checked. This might have caused installation to take longer.\r\nDone in 59.5s\r\n\r\n> woodpecker@0.0.0 build:woodpecker-plugins /workspace/woodpecker/docs\r\n> cd plugins/woodpecker-plugins && pnpm i && pnpm build\r\n\r\nScope: all 2 workspace projects\r\nDone in 1.7s\r\n\r\n> @woodpecker-ci/plugin-index@0.1.0 build /workspace/woodpecker/docs/plugins/woodpecker-plugins\r\n> pnpm run style && tsc && tsc -p tsconfig.jsx.json\r\n\r\n\r\n> @woodpecker-ci/plugin-index@0.1.0 style /workspace/woodpecker/docs/plugins/woodpecker-plugins\r\n> mkdir -p dist/theme/ && cp src/theme/style.css dist/theme/style.css\r\n\r\n\r\n> woodpecker@0.0.0 start /workspace/woodpecker/docs\r\n> cd ../ && make docs && cd docs && docusaurus start \"--port\" \"4000\"\r\n\r\ngo generate cmd/cli/app.go\r\n# github.com/woodpecker-ci/woodpecker/server/model\r\n../../server/model/secret.go:128:18: undefined: errors.Join\r\nnote: module requires Go 1.20\r\n# github.com/woodpecker-ci/woodpecker/shared/utils\r\n../../shared/utils/context.go:28:25: undefined: context.WithCancelCause\r\nnote: module requires Go 1.20\r\n# github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml/constraint\r\n../../pipeline/frontend/yaml/constraint/constraint.go:245:68: undefined: errors.Join\r\nnote: module requires Go 1.20\r\ncmd/cli/app.go:40: running \"go\": exit status 2\r\nmake: *** [Makefile:266: docs] Error 1\r\n ELIFECYCLE Command failed with exit code 2.\r\ngitpod /workspace/woodpecker/docs (master) $ \r\n```\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/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).",[2956,2957,2960],{"name":2868,"color":2869},{"name":2958,"color":2959},"feedback","4B7070",{"name":2961,"color":2962},"devx","47B0E3",1899,"Gitpod not working","2024-02-11T22:59:21Z","https://github.com/woodpecker-ci/woodpecker/issues/1899",0.74733096,{"description":2969,"labels":2970,"number":2972,"owner":2874,"repository":2875,"state":2929,"title":2973,"updated_at":2974,"url":2975,"score":2976},"### Component\n\nserver, agent\n\n### Describe the bug\n\nIf you try to set proxy related env vars in a pipeline step, they won't get used. They are present but without the given values:\r\n\r\n```yaml\r\nwhen:\r\n - event: [pull_request, tag, cron]\r\n - event: push\r\n branch:\r\n - ${CI_REPO_DEFAULT_BRANCH}\r\n - renovate/*\r\n\r\nvariables:\r\n - &golang \"golang:1.21\"\r\n - proxy_args: &proxy_args\r\n - \"http_proxy=http://swarmproxy:8888\"\r\n - \"https_proxy=http://swarmproxy:8888\"\r\n - \"no_proxy=.myhost.com\"\r\n - \"TESTENV=DEBUGGING\"\r\nsteps:\r\n test:\r\n image: *golang\r\n environment:\r\n - \u003C\u003C: *proxy_args\r\n commands:\r\n - env | sort\r\n - go test -cover ./...\r\n```\r\n\r\nThe output looks like this:\r\n\r\n```shell\r\n....\r\nGOLANG_VERSION=1.21.4\r\nGOPATH=/go\r\nGOTOOLCHAIN=local\r\nHOME=/root\r\nHOSTNAME=45d463959e69\r\nHTTPS_PROXY=\r\nHTTP_PROXY=\r\nNO_PROXY=\r\nPATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\r\nPWD=/woodpecker/src/xxxxxx/Templates/plugin-extend-env\r\nSHELL=/bin/sh\r\nTESTENV=DEBUGGING\r\nhttp_proxy=\r\nhttps_proxy=\r\nno_proxy=\r\n+ go test -cover ./...\r\ngo: downloading github.com/urfave/cli/v2 v2.25.7\r\ngo: downloading github.com/sirupsen/logrus v1.9.3\r\ngo: downloading github.com/Masterminds/semver/v3 v3.2.1\r\ngo: downloading github.com/joho/godotenv v1.5.1\r\nsemver.go:6:2: github.com/Masterminds/semver/v3@v3.2.1: Get \"https://proxy.golang.org/github.com/%21masterminds/semver/v3/@v/v3.2.1.zip\": dial tcp: lookup proxy.golang.org on 127.0.0.11:53: no such host\r\ntools.go:3:8: github.com/joho/godotenv@v1.5.1: Get \"https://proxy.golang.org/github.com/joho/godotenv/@v/v1.5.1.zip\": dial tcp: lookup proxy.golang.org on 127.0.0.11:53: no such host\r\nlogger.go:6:2: github.com/sirupsen/logrus@v1.9.3: Get \"https://proxy.golang.org/github.com/sirupsen/logrus/@v/v1.9.3.zip\": dial tcp: lookup proxy.golang.org on 127.0.0.11:53: no such host\r\nflags.go:4:2: github.com/urfave/cli/v2@v2.25.7: Get \"https://proxy.golang.org/github.com/urfave/cli/v2/@v/v2.25.7.zip\": dial tcp: lookup proxy.golang.org on 127.0.0.11:53: no such host\r\n...\r\n```\n\n### System Info\n\n```shell\n{\r\n \"source\": \"https://github.com/woodpecker-ci/woodpecker\",\r\n \"version\": \"1.0.5\"\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).",[2971],{"name":2868,"color":2869},2858,"Proxy environment variables not passed through in pipeline steps","2023-12-03T16:50:09Z","https://github.com/woodpecker-ci/woodpecker/issues/2858",0.7563955,{"description":2978,"labels":2979,"number":2982,"owner":2874,"repository":2875,"state":2929,"title":2983,"updated_at":2984,"url":2985,"score":2986},"### Clear and concise description of the problem\r\n\r\nI'm trying to run a container image build step in my pipeline that uses [buildah](https://quay.io/repository/buildah/stable?tab=info). I'm running into a lot of permission errors like this:\r\n\r\n```\r\ntime=\"2023-10-07T19:59:26Z\" level=error msg=\"writing \\\"0 0 4294967295\\\\n\\\" to /proc/17/uid_map: write /proc/17/uid_map: operation not permitted\"\r\ntime=\"2023-10-07T19:59:26Z\" level=error msg=\"(Unable to determine exit status)\"\r\n```\r\n\r\nAfter some experimentation with podman and buildah containers on my cluster, I have determined that I need to configure a few different settings at the Pod level for this to work:\r\n\r\n- `metadata.annotations`: I need to be able to set `container.apparmor.security.beta.kubernetes.io/\u003Ccontainer_name>` to use a custom apparmor profile for my buildah container. I would like to use the `WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS` env variable, but since the container names are randomly generated I'm not sure how to make this work.\r\n- `spec.securityContext`: The only way I have found to make buildah work is to run it as non-root. This means that I need to set `runAsUser`, `runAsGroup`, and `fsGroup` on the Pod level `securityContext` (not the container level).\r\n\r\n### Suggested solution\r\n\r\nAdding support for `securityContext` seems like it should be fairly straightforward. We could just follow that same approach that is currently used for `resources`, `nodeSelector`, etc. [documented here](https://woodpecker-ci.org/docs/next/administration/backends/kubernetes#resources).\r\n\r\nThe AppArmor profile is trickier since the container name needs to be included in the annotation key. I'm imagining a configuration like `backend_options.kubernetes.appArmorProfile` that could take all of the possible values for the annotation [documented here](https://kubernetes.io/docs/tutorials/security/apparmor/). Then, the pod generation logic would just look for this configuration and add the appropriate annotation if it's found.\r\n\r\n### Alternative\r\n\r\nI could disable AppArmor entirely, but that's not really advisable for a production environment. I could also try to find a way to get the buildah container running as root (it should be possible), but again, that's not ideal from a security perspective.\r\n\r\n### Additional context\r\n\r\nThis is somewhat of a follow up from #2510. I'm trying to get Woodpecker to run on my kubeadm/CRI-O based cluster running on Debian which I believe makes me some kind of leprechaun/unicorn/lochness monster. There definitely aren't many of us out there.\r\n\r\n### Validations\r\n\r\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]\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 request the same feature to avoid creating a duplicate.",[2980,2981],{"name":2900,"color":2901},{"name":2886,"color":2887},2545,"Support AppArmor annotations and securityContext in kubernetes backend","2024-01-12T22:32:26Z","https://github.com/woodpecker-ci/woodpecker/issues/2545",0.7644313,["Reactive",2988],{},["Set"],["ShallowReactive",2991],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fNXCZfcJNgAlbgv5LopOB7pGa1CD0QoIeI7ppzQsFXEI":-1},"/woodpecker-ci/woodpecker/1414"]