From 856b2ef8c7b040f490e55f72fe239ed6fb4c801c Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Tue, 31 Oct 2023 09:14:09 +0100 Subject: [PATCH] `pre-commit` fixes (#2669) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Anbraten --- .pre-commit-config.yaml | 5 +- .woodpecker/securityscan.yml | 2 +- CHANGELOG.md | 1002 ++++++++--------- Makefile | 5 + README.md | 11 +- SECURITY.md | 4 +- cli/README.md | 2 +- docs/README.md | 8 +- docs/blog/2023-06-11-hello-blog/index.md | 2 +- docs/blog/2023-07-28-release-v1.0.0/index.md | 18 +- docs/docs/20-usage/10-intro.md | 13 +- .../20-usage/15-terminiology/architecture.svg | 6 +- .../pipeline-workflow-step.svg | 6 +- docs/docs/20-usage/20-workflow-syntax.md | 2 +- .../00-deployment/00-overview.md | 13 +- .../30-administration/10-server-config.md | 10 +- .../30-administration/11-forges/20-github.md | 2 +- docs/docs/30-administration/40-encryption.md | 4 +- docs/docs/30-administration/90-prometheus.md | 4 +- .../docs/92-development/01-getting-started.md | 2 +- docs/docs/92-development/03-ui.md | 2 +- docs/docs/92-development/08-swagger.md | 34 +- docs/docs/92-development/09-security.md | 4 +- docs/docs/92-development/ui-proxy.svg | 4 +- .../20-usage/22-conditional-execution.md | 2 +- .../version-0.15/20-usage/40-secrets.md | 2 +- .../20-usage/71-project-settings.md | 1 - .../30-administration/15-agent-config.md | 4 +- .../30-administration/80-kubernetes.md | 1 - .../version-0.15/92-development/ui-proxy.svg | 4 +- .../20-usage/71-project-settings.md | 2 +- .../30-administration/10-server-config.md | 6 +- .../30-administration/22-backends/20-local.md | 1 - .../30-administration/40-encryption.md | 6 +- docs/versioned_docs/version-1.0/40-cli.md | 68 +- .../version-1.0/92-development/03-ui.md | 2 +- .../version-1.0/92-development/09-security.md | 2 +- .../version-1.0/92-development/ui-proxy.svg | 4 +- pipeline/samples/sample_1/README.md | 6 +- pipeline/samples/sample_10_windows/README.md | 6 +- .../samples/sample_8_network_mode/README.md | 8 +- web/public/favicons/favicon-dark-error.svg | 2 +- web/public/favicons/favicon-dark-pending.svg | 2 +- web/public/favicons/favicon-dark-success.svg | 2 +- web/public/favicons/favicon-light-default.svg | 2 +- web/public/favicons/favicon-light-error.svg | 2 +- web/public/favicons/favicon-light-pending.svg | 2 +- web/public/favicons/favicon-light-success.svg | 2 +- woodpecker-go/LICENSE | 1 - 49 files changed, 663 insertions(+), 642 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 289d4c5c6..d9aedf269 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,10 +18,12 @@ repos: rev: v0.37.0 hooks: - id: markdownlint + exclude: '^docs/versioned_docs/.*$' - repo: https://github.com/mrtazz/checkmake rev: 0.2.2 hooks: - id: checkmake + exclude: '^docker/Dockerfile.make$' # actually a Dockerfile and not a makefile - repo: https://github.com/hadolint/hadolint rev: v2.12.0 hooks: @@ -36,5 +38,6 @@ ci: autoupdate_branch: '' autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate' autoupdate_schedule: monthly - skip: [check-hooks-apply, check-useless-excludes] + # NB: hadolint not included in pre-commit.ci + skip: [check-hooks-apply, check-useless-excludes, hadolint] submodules: false diff --git a/.woodpecker/securityscan.yml b/.woodpecker/securityscan.yml index c81074f73..6c5a95017 100644 --- a/.woodpecker/securityscan.yml +++ b/.woodpecker/securityscan.yml @@ -6,7 +6,7 @@ when: - release/* variables: - - &trivy_image aquasec/trivy:latest + - &trivy_image aquasec/trivy:0.46.1 - &trivy_plugin codeberg.org/woodpecker-plugins/trivy:1.0.1 steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 1eeced8c4..04a016b69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,564 +2,564 @@ ## [1.0.3](https://github.com/woodpecker-ci/woodpecker/releases/tag/v1.0.3) - 2023-10-14 -* SECURITY - * Update dependencies (#2587) - * Frontend: bump postcss to 8.4.31 (#2541) - * Check permissions on repo lookup (#2358) - * Change token logging to trace level (#2247) (#2248) -* BUGFIXES - * Fix gitlab hooks (#2537) (#2542) - * Trim last "/" from WOODPECKER_HOST config (#2538) (#2540) - * Fix(server/api/repo): Fix repair webhook host (#2372) (#2452) - * Show correct event in pipeline step list (#2448) - * Make WOODPECKER_MIGRATIONS_ALLOW_LONG have an actuall effect (#2251) (#2309) - * Docker build dont ignore ci env vars (#2238) (#2246) - * Handle parsed hooks that should be ignored (#2243) (#2244) - * Return 204 not 500 on filtered pipeline (#2230) - * Set correct version for release branch releases (#2227) (#2229) -* MISC - * Rebuild swagger with latest version (#2455) +- SECURITY + - Update dependencies (#2587) + - Frontend: bump postcss to 8.4.31 (#2541) + - Check permissions on repo lookup (#2358) + - Change token logging to trace level (#2247) (#2248) +- BUGFIXES + - Fix gitlab hooks (#2537) (#2542) + - Trim last "/" from WOODPECKER_HOST config (#2538) (#2540) + - Fix(server/api/repo): Fix repair webhook host (#2372) (#2452) + - Show correct event in pipeline step list (#2448) + - Make WOODPECKER_MIGRATIONS_ALLOW_LONG have an actuall effect (#2251) (#2309) + - Docker build dont ignore ci env vars (#2238) (#2246) + - Handle parsed hooks that should be ignored (#2243) (#2244) + - Return 204 not 500 on filtered pipeline (#2230) + - Set correct version for release branch releases (#2227) (#2229) +- MISC + - Rebuild swagger with latest version (#2455) ## [1.0.2](https://github.com/woodpecker-ci/woodpecker/releases/tag/v1.0.2) - 2023-08-16 -* SECURITY - * Validate webhook before change any data (#2221) (#2222) -* BUGFIXES - * Bump default git clone plugin (#2215) (#2220) - * Show all steps (#2190) (#2191) +- SECURITY + - Validate webhook before change any data (#2221) (#2222) +- BUGFIXES + - Bump default git clone plugin (#2215) (#2220) + - Show all steps (#2190) (#2191) ## [1.0.1](https://github.com/woodpecker-ci/woodpecker/releases/tag/v1.0.1) - 2023-08-08 -* SECURITY - * Fix WOODPECKER_GRPC_VERIFY being ignored (#2077) (#2082) -* BUGFIXES - * Fix 'add-orgs' migration (#2117) (#2145) - * Fix UI and backend paths with subpath (#1799) (#2133) - * Fix swagger response code (#2119) (#2121) - * Forge Github Org: Use `login` instead of `name` (#2104) (#2106) - * Client.go: Backport fix RepoPost path (#2100) - * Fix translation key (#2098) +- SECURITY + - Fix WOODPECKER_GRPC_VERIFY being ignored (#2077) (#2082) +- BUGFIXES + - Fix 'add-orgs' migration (#2117) (#2145) + - Fix UI and backend paths with subpath (#1799) (#2133) + - Fix swagger response code (#2119) (#2121) + - Forge Github Org: Use `login` instead of `name` (#2104) (#2106) + - Client.go: Backport fix RepoPost path (#2100) + - Fix translation key (#2098) ## [1.0.0](https://github.com/woodpecker-ci/woodpecker/releases/tag/v1.0.0) - 2023-07-29 -* BREAKING - * Use IDs to access organizations (#1873) - * Drop support for Bitbucket Server (#1994) - * Rename yaml `pipeline` to `steps` (#1833) - * Drop ".drone.yml" as default pipeline config (#1795) - * Build-in Env Vars, use _URL for all links/URLs (#1794) - * Resolve built-in variables for global when filtered too (#1790) - * Drop "Gogs" support (#1752) - * Access repos by their IDs (#1691) - * Drop "coding" support (#1644) - * Add queue details UI for admins (#1632) - * Remove `command:` from steps (#1032) - * Remove old `build` API routes (#1283) - * Let single line command be a single command (#1009) - * Drop deprecated environment vars (#920) - * Drop Var-Args in steps in favor of settings (#919) - * Fix branch condition on tags (#917) - * Use asymmetric key to sign webhooks (#916) - * Add agent tagging / filtering for pipelines (#902) - * Delete old fallback for "drone.sqlite" (#791) - * Migrate to certmagic (#360) -* FEATURES - * Implement YAML Map Merge, Overrides, and Sequence Merge Support (#1720) - * Add users UI for admins (#1634) - * Add agent no-schedule flag (#1567) - * Change locale in user settings (#1305) - * Add when evaluate filter (#1213) - * Store an agents list and add agent heartbeats (#1189) - * Add ability to trigger manual builds (#1156) - * Add default event filter (#1140) - * Add CLI support for global and organization secrets (#1113) - * Allow multiple when conditions (#1087) - * Add syntax highlighting for pipeline config (#1082) - * Add `logs` command to CLI & update forges features docs (#1064) - * Add method to check organization membership (#1037) - * Global and organization secrets (#1027) - * Add pipeline log output download (#1023) - * Provide global environment variables for pipeline substitution (#968) - * Add cron jobs (#934) - * Support localized web UI (#912) - * Add support to define a custom docker network and enable docker ipv6 (#893) - * Add SSH backend (#861) - * Add support for superseding runs (#831) - * Add support for steps to be a list (instead of dict) (#826) - * Add editing of secrets and registries (#823) - * Allow loading sensitive flags from files (#815) - * Add support for pipeline configuration service (#804) - * Support all backends for CLI exec (#801) - * Add support for pipeline root.when conditions (#770) - * Add support to run pipelines using a local backend (#709) - * Add initial version of Kubernetes backend (#552) -* SECURITY - * Fix ignoring server set pipeline max-timeout (#1875) - * Only grant privileged to plugins (#1646) - * Only inject netrc to trusted clone plugins (#1352) - * Support plugin-only secrets (#1344) - * Fix insecure /tmp usage in local backend (#872) -* BUGFIXES - * Handle case where there is no latest pipeline for GetBadge (#2042) (#2050) - * Fix repo gate protection (#1969) - * Make secrets with "/" in name editable / deletable (#1938) - * Fix Bitbucket implement missing features (#1887) (#1889) - * Fix nil pointer in repo repair (#1804) - * Do not use OAuth client without token (#1803) - * Correct label argument parsing in agent code (#1717) - * Fully support `.yaml` (#1713) - * Consistent status on delete (#1703) - * Fix Bitbucket Server branches (#1698) - * Set 'HOME' during local pipeline step (#1686) - * Pipeline compiler: handle nil entrys in settings list (#1626) - * Fix: backend auto-detection should be consistent (#1618) - * Return 404 on badge endpoint for inactive repos (#1600) - * Ensure the SharedInformerFactory closes eventually (#1585) - * Deduplicate step docker container volumes (#1571) - * Don't require secret value on secret edit (#1552) (#1553) - * Rework status constraint logic for successes (#1515) - * Don't panic on hook parsing (#1501) - * Hide not owned repos from sidebar and repo list (#1453) - * Fix cut of woodpecker animation (#1402) - * Fix approval on mobile (#1320) - * Unify buttons, links and improve focus styles (#1317) - * Fix pipeline manual trigger on web (#1307) - * Fix SCM visibility if user visibility is private (#1217) - * Hide log output container if step does not have logs (#1086) - * Fix to show build pipeline parse error (#1066) - * Pipeline compiler should not alter specified image (#1005) - * Gracefully handle non-zero exit code in local backend (#1002) - * Replace run_on references with runs_on (#965) - * Set default logging value of CLI to info (#871) - * Support conditional branch as an array to align with documentation (#836) - * Fix redirect after login (#824) -* ENHANCEMENTS - * Add BranchHead implementation for bitbucket forge (#2011) - * Use global logger for xorm logs and add options (#1997) - * Let HookParse func explicit ignore events (#1942) - * Link swagger in navbar (#1984) - * Add option to read grpc-secret from file (#1972) - * Let pipeline-compiler export step types (#1958) - * docker backend use uuid instead of name as identifier (#1967) - * Kubernetes do not set Pod's Image pull policy if not explicitly set (#1914) - * Fixed when:evaluate on non-standard (non-CI*) env vars (#1907) - * Add pull-request implementation for bitbucket forge (#1889) - * Store agent ID in config file (#1888) - * Fix bitbucket forge add repo (#1887) - * Added Woodpecker Host Config used for Webhooks (#1869) - * Drop old columns (#1838) - * Remove MSSQL specific code and cleanups (#1796) - * Remove unused file system API (#1791) - * Add Forge Metadata to built-in environment variables (#1789) - * Redirect to new pipeline (#1761) - * Add reset token button (#1755) - * Add agent functions to go-sdk (#1754) - * Always send a status back to forge (#1751) - * Allow to configure listener port for SSL (#1735) - * Identify users using their remote ID (#1732) - * Let agent retry to connecting to server (#1728) - * Stable sort order for DB lists (#1702) - * Add backend label to agents (#1692) - * Web: use i18n-t to avoid v-html directive (#1676) - * Various UI improvements (#1663) - * Do not store inactive repos without any resources (#1658) - * Implement visual display of queue statistics (#1657) - * Agent check gRPC version against server (#1653) - * Initiate Pagination Implementation for API and Infinite Scroll in UI (#1651) - * Add PR pipeline list (#1641) - * Save agent-id for tasks and add endpoint to get agent tasks (#1631) - * Return 404 if pipeline not exist and handle 404 errors in WebUI (#1627) - * UI should confirm secret deletion (#1604) - * Add collapsable support to panel elements (#1601) - * Add cancel button on secrets tab (#1599) - * Allow custom dnsConfig in agent deployment (#1569) - * Show platform, backend and capacity as badges in agent list (#1568) - * Define WOODPECKER_FORGE_TIMEOUT server config (#1558) - * Sort repos by org/name (#1548) - * Improve button and input contrast in dark mode (#1456) - * Consistent and more descriptive naming of parameters in index.ts (#1455) - * Add button in UI to trigger the deployment event (#1415) - * Use icons for step and workflow states (#1409) - * Match notification font size to rest of the UI (#1399) - * Support .yaml as file-ending for workflow config too (#1388) - * Show workflow state in UI and collapse completed workflows (#1383) - * Use pipeline wrapper and improve scaffold UI (#1368) - * Lazy load locales (#1362) - * Always use rounded quadrat user avatars (#1350) - * Fix display of long pipeline and job names (#1346) - * Support changed files for Gitea PRs (#1342) - * Allow to change directory for steps (#1329) - * UI use system font stack (#1326) - * Add pull request labels as environment variable (#1321) - * Make pipeline workflows collapsable (#1304) - * Make submit buttons green and add forms (#1302) - * Add pipeline build number into Pipeline list (#1301) - * Add title to docs links (#1298) - * Check if repo exists before creating pipeline (#1297) - * Use HTML buttons to allow keyboard navigation (#1242) - * Introduce and use Pagination helper func (#1236) - * Sort secret lists and events (#1223) - * Add support sub-settings and secrets in sub-settings (#1221) - * Add option to ignore failures on steps (#1219) - * Set a default value for `pipeline-event` flag of `cli exec` command (#1212) - * Add option for docker runtime to provide default volumes (#1203) - * Make healthcheck port configurable (#1197) - * Don't show "changed files" if event can't have them (#1191) - * Add dedicated DroneCI env compatibility layer (#1185) - * Only enable debug endpoints if log level is debug or below (#1160) - * Sort pipelines based on creation date (#1159) - * Add option to turn on and off log automatic scrolling (#1149) - * Checkout tags on tag pipeline (#1110) - * Use fixed version of git clone plugin (#1108) - * Fetch repositories with remote ID if possible (#1078) - * Support Docker credential helpers (#1075) - * Do not show pipeline name if it's a single file (#1069) - * Remove xterm and use ansi converter for logs (#1067) - * Update jsonschema and define "services" (#1036) - * Show forge icons in UI (#987) - * Make pipeline runtime log with description (#970) - * Improve UI colors to have more contrast (#943) - * Add branches support for BitBucket (#907) - * Auto cancel blocked pipelines (#905) - * Allow to change forge status messages (#900) - * Added support for step errors when executing backend (#817) - * Do not filter on linux/amd64 per default (#805) -* DOCUMENTATION - * Remove never implemented "tag"-filter and document "ref"-filter to do the same (#1820) - * Define Glossary (#1800) - * Add more documentation about branch matching (#1186) - * Use versioned docs (#1145) - * Add gitpod setup (#1020) -* MISC - * Drop tarball release (#1819) - * Move helm charts to own repo "helm" (#1589) - * Replace yarn with pnpm (#1240) - * Publish preview docker images of pulls (#1072) +- BREAKING + - Use IDs to access organizations (#1873) + - Drop support for Bitbucket Server (#1994) + - Rename yaml `pipeline` to `steps` (#1833) + - Drop ".drone.yml" as default pipeline config (#1795) + - Build-in Env Vars, use _URL for all links/URLs (#1794) + - Resolve built-in variables for global when filtered too (#1790) + - Drop "Gogs" support (#1752) + - Access repos by their IDs (#1691) + - Drop "coding" support (#1644) + - Add queue details UI for admins (#1632) + - Remove `command:` from steps (#1032) + - Remove old `build` API routes (#1283) + - Let single line command be a single command (#1009) + - Drop deprecated environment vars (#920) + - Drop Var-Args in steps in favor of settings (#919) + - Fix branch condition on tags (#917) + - Use asymmetric key to sign webhooks (#916) + - Add agent tagging / filtering for pipelines (#902) + - Delete old fallback for "drone.sqlite" (#791) + - Migrate to certmagic (#360) +- FEATURES + - Implement YAML Map Merge, Overrides, and Sequence Merge Support (#1720) + - Add users UI for admins (#1634) + - Add agent no-schedule flag (#1567) + - Change locale in user settings (#1305) + - Add when evaluate filter (#1213) + - Store an agents list and add agent heartbeats (#1189) + - Add ability to trigger manual builds (#1156) + - Add default event filter (#1140) + - Add CLI support for global and organization secrets (#1113) + - Allow multiple when conditions (#1087) + - Add syntax highlighting for pipeline config (#1082) + - Add `logs` command to CLI & update forges features docs (#1064) + - Add method to check organization membership (#1037) + - Global and organization secrets (#1027) + - Add pipeline log output download (#1023) + - Provide global environment variables for pipeline substitution (#968) + - Add cron jobs (#934) + - Support localized web UI (#912) + - Add support to define a custom docker network and enable docker ipv6 (#893) + - Add SSH backend (#861) + - Add support for superseding runs (#831) + - Add support for steps to be a list (instead of dict) (#826) + - Add editing of secrets and registries (#823) + - Allow loading sensitive flags from files (#815) + - Add support for pipeline configuration service (#804) + - Support all backends for CLI exec (#801) + - Add support for pipeline root.when conditions (#770) + - Add support to run pipelines using a local backend (#709) + - Add initial version of Kubernetes backend (#552) +- SECURITY + - Fix ignoring server set pipeline max-timeout (#1875) + - Only grant privileged to plugins (#1646) + - Only inject netrc to trusted clone plugins (#1352) + - Support plugin-only secrets (#1344) + - Fix insecure /tmp usage in local backend (#872) +- BUGFIXES + - Handle case where there is no latest pipeline for GetBadge (#2042) (#2050) + - Fix repo gate protection (#1969) + - Make secrets with "/" in name editable / deletable (#1938) + - Fix Bitbucket implement missing features (#1887) (#1889) + - Fix nil pointer in repo repair (#1804) + - Do not use OAuth client without token (#1803) + - Correct label argument parsing in agent code (#1717) + - Fully support `.yaml` (#1713) + - Consistent status on delete (#1703) + - Fix Bitbucket Server branches (#1698) + - Set 'HOME' during local pipeline step (#1686) + - Pipeline compiler: handle nil entrys in settings list (#1626) + - Fix: backend auto-detection should be consistent (#1618) + - Return 404 on badge endpoint for inactive repos (#1600) + - Ensure the SharedInformerFactory closes eventually (#1585) + - Deduplicate step docker container volumes (#1571) + - Don't require secret value on secret edit (#1552) (#1553) + - Rework status constraint logic for successes (#1515) + - Don't panic on hook parsing (#1501) + - Hide not owned repos from sidebar and repo list (#1453) + - Fix cut of woodpecker animation (#1402) + - Fix approval on mobile (#1320) + - Unify buttons, links and improve focus styles (#1317) + - Fix pipeline manual trigger on web (#1307) + - Fix SCM visibility if user visibility is private (#1217) + - Hide log output container if step does not have logs (#1086) + - Fix to show build pipeline parse error (#1066) + - Pipeline compiler should not alter specified image (#1005) + - Gracefully handle non-zero exit code in local backend (#1002) + - Replace run_on references with runs_on (#965) + - Set default logging value of CLI to info (#871) + - Support conditional branch as an array to align with documentation (#836) + - Fix redirect after login (#824) +- ENHANCEMENTS + - Add BranchHead implementation for bitbucket forge (#2011) + - Use global logger for xorm logs and add options (#1997) + - Let HookParse func explicit ignore events (#1942) + - Link swagger in navbar (#1984) + - Add option to read grpc-secret from file (#1972) + - Let pipeline-compiler export step types (#1958) + - docker backend use uuid instead of name as identifier (#1967) + - Kubernetes do not set Pod's Image pull policy if not explicitly set (#1914) + - Fixed when:evaluate on non-standard (non-CI*) env vars (#1907) + - Add pull-request implementation for bitbucket forge (#1889) + - Store agent ID in config file (#1888) + - Fix bitbucket forge add repo (#1887) + - Added Woodpecker Host Config used for Webhooks (#1869) + - Drop old columns (#1838) + - Remove MSSQL specific code and cleanups (#1796) + - Remove unused file system API (#1791) + - Add Forge Metadata to built-in environment variables (#1789) + - Redirect to new pipeline (#1761) + - Add reset token button (#1755) + - Add agent functions to go-sdk (#1754) + - Always send a status back to forge (#1751) + - Allow to configure listener port for SSL (#1735) + - Identify users using their remote ID (#1732) + - Let agent retry to connecting to server (#1728) + - Stable sort order for DB lists (#1702) + - Add backend label to agents (#1692) + - Web: use i18n-t to avoid v-html directive (#1676) + - Various UI improvements (#1663) + - Do not store inactive repos without any resources (#1658) + - Implement visual display of queue statistics (#1657) + - Agent check gRPC version against server (#1653) + - Initiate Pagination Implementation for API and Infinite Scroll in UI (#1651) + - Add PR pipeline list (#1641) + - Save agent-id for tasks and add endpoint to get agent tasks (#1631) + - Return 404 if pipeline not exist and handle 404 errors in WebUI (#1627) + - UI should confirm secret deletion (#1604) + - Add collapsable support to panel elements (#1601) + - Add cancel button on secrets tab (#1599) + - Allow custom dnsConfig in agent deployment (#1569) + - Show platform, backend and capacity as badges in agent list (#1568) + - Define WOODPECKER_FORGE_TIMEOUT server config (#1558) + - Sort repos by org/name (#1548) + - Improve button and input contrast in dark mode (#1456) + - Consistent and more descriptive naming of parameters in index.ts (#1455) + - Add button in UI to trigger the deployment event (#1415) + - Use icons for step and workflow states (#1409) + - Match notification font size to rest of the UI (#1399) + - Support .yaml as file-ending for workflow config too (#1388) + - Show workflow state in UI and collapse completed workflows (#1383) + - Use pipeline wrapper and improve scaffold UI (#1368) + - Lazy load locales (#1362) + - Always use rounded quadrat user avatars (#1350) + - Fix display of long pipeline and job names (#1346) + - Support changed files for Gitea PRs (#1342) + - Allow to change directory for steps (#1329) + - UI use system font stack (#1326) + - Add pull request labels as environment variable (#1321) + - Make pipeline workflows collapsable (#1304) + - Make submit buttons green and add forms (#1302) + - Add pipeline build number into Pipeline list (#1301) + - Add title to docs links (#1298) + - Check if repo exists before creating pipeline (#1297) + - Use HTML buttons to allow keyboard navigation (#1242) + - Introduce and use Pagination helper func (#1236) + - Sort secret lists and events (#1223) + - Add support sub-settings and secrets in sub-settings (#1221) + - Add option to ignore failures on steps (#1219) + - Set a default value for `pipeline-event` flag of `cli exec` command (#1212) + - Add option for docker runtime to provide default volumes (#1203) + - Make healthcheck port configurable (#1197) + - Don't show "changed files" if event can't have them (#1191) + - Add dedicated DroneCI env compatibility layer (#1185) + - Only enable debug endpoints if log level is debug or below (#1160) + - Sort pipelines based on creation date (#1159) + - Add option to turn on and off log automatic scrolling (#1149) + - Checkout tags on tag pipeline (#1110) + - Use fixed version of git clone plugin (#1108) + - Fetch repositories with remote ID if possible (#1078) + - Support Docker credential helpers (#1075) + - Do not show pipeline name if it's a single file (#1069) + - Remove xterm and use ansi converter for logs (#1067) + - Update jsonschema and define "services" (#1036) + - Show forge icons in UI (#987) + - Make pipeline runtime log with description (#970) + - Improve UI colors to have more contrast (#943) + - Add branches support for BitBucket (#907) + - Auto cancel blocked pipelines (#905) + - Allow to change forge status messages (#900) + - Added support for step errors when executing backend (#817) + - Do not filter on linux/amd64 per default (#805) +- DOCUMENTATION + - Remove never implemented "tag"-filter and document "ref"-filter to do the same (#1820) + - Define Glossary (#1800) + - Add more documentation about branch matching (#1186) + - Use versioned docs (#1145) + - Add gitpod setup (#1020) +- MISC + - Drop tarball release (#1819) + - Move helm charts to own repo "helm" (#1589) + - Replace yarn with pnpm (#1240) + - Publish preview docker images of pulls (#1072) ## [0.15.11](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.11) - 2023-07-12 -* SECURITY - * Update github.com/gin-gonic/gin to 1.9.1 (#1989) -* ENHANCEMENTS - * Allow gitea dev version (#914) (#1988) +- SECURITY + - Update github.com/gin-gonic/gin to 1.9.1 (#1989) +- ENHANCEMENTS + - Allow gitea dev version (#914) (#1988) ## [0.15.10](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.10) - 2023-07-09 -* SECURITY - * Fix agent auth (#1952) (#1953) - * Return after error (#1875) (#1876) - * Update github.com/docker/distribution (#1750) +- SECURITY + - Fix agent auth (#1952) (#1953) + - Return after error (#1875) (#1876) + - Update github.com/docker/distribution (#1750) ## [0.15.9](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.9) - 2023-05-11 -* SECURITY - * Backport securitycheck and bump deps where needed (#1745) +- SECURITY + - Backport securitycheck and bump deps where needed (#1745) ## [0.15.8](https://github.com/woodpecker-ci/woodpecker/releases/tag/0.15.8) - 2023-04-29 -* BUGFIXES - * Use codeberg.org/6543/go-yaml2json (#1719) - * Fix faulty hardlink in release tarball (#1669) (#1671) - * Persist `DepStatus` of tasks (#1610) (#1625) +- BUGFIXES + - Use codeberg.org/6543/go-yaml2json (#1719) + - Fix faulty hardlink in release tarball (#1669) (#1671) + - Persist `DepStatus` of tasks (#1610) (#1625) ## [0.15.7](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.7) - 2023-03-14 -* SECURITY - * Update dependencies golang/x libs (#1612) (#1621) -* BUGFIXES - * Docker backend should not close 'engine.Tail' result (#1616) (#1620) - * Force pure Go resolver onto server (#1502) (#1503) -* ENHANCEMENTS - * SanitizeParamKey "-" to "_" for plugin settings (#1511) -* MISC - * Bump xgo and go to v1.19.5 (#1538) (#1547) - * Pin official default clone image (#1526) (#1534) +- SECURITY + - Update dependencies golang/x libs (#1612) (#1621) +- BUGFIXES + - Docker backend should not close 'engine.Tail' result (#1616) (#1620) + - Force pure Go resolver onto server (#1502) (#1503) +- ENHANCEMENTS + - SanitizeParamKey "-" to "_" for plugin settings (#1511) +- MISC + - Bump xgo and go to v1.19.5 (#1538) (#1547) + - Pin official default clone image (#1526) (#1534) ## [0.15.6](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.6) - 2022-12-23 -* SECURITY - * Update golang.org/x/net (#1494) - * [**BREAKING**] Disable metrics access if no token is set (#1469) (#1470) - * Update dep moby (#1263) (#1264) -* BUGFIXES - * Update json schema for cli lint to cover valid cases (#1384) - * Add pipeline.step.when.branch string-array type to schema.json (#1380) - * Display system CA error only if there is an error (#870) (#1286) -* ENHANCEMENTS - * Bump Frontend Deps and remove unused (#1404) +- SECURITY + - Update golang.org/x/net (#1494) + - [**BREAKING**] Disable metrics access if no token is set (#1469) (#1470) + - Update dep moby (#1263) (#1264) +- BUGFIXES + - Update json schema for cli lint to cover valid cases (#1384) + - Add pipeline.step.when.branch string-array type to schema.json (#1380) + - Display system CA error only if there is an error (#870) (#1286) +- ENHANCEMENTS + - Bump Frontend Deps and remove unused (#1404) ## [0.15.5](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.5) - 2022-10-13 -* BUGFIXES - * Change build message column type to text (#1252) (#1253) -* ENHANCEMENTS - * Bump DefaultCloneImage version to v1.6.0 (#1254) - * On Repo update, keep old "Clone" if update would empty it (#1170) (#1195) +- BUGFIXES + - Change build message column type to text (#1252) (#1253) +- ENHANCEMENTS + - Bump DefaultCloneImage version to v1.6.0 (#1254) + - On Repo update, keep old "Clone" if update would empty it (#1170) (#1195) ## [0.15.4](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.4) - 2022-09-06 -* BUGFIXES - * Extract commit message from branch creation (#1150) (#1153) - * Respect WOODPECKER_GITEA_SKIP_VERIFY (#1152) (#1151) - * update golang.org/x/crypto (#1124) - * Implement Refresher for GitLab (#1031) (#1120) - * Make returned proc list to be returned always in correct order (#1060) (#1065) - * Update type of 'log_data' from blob to longblob (#1050) (#1052) - * Make ListItem component more accessible by using a button tag when clickable (#1044) (#1046) -* MISC - * Update base images (#1024) (#1025) +- BUGFIXES + - Extract commit message from branch creation (#1150) (#1153) + - Respect WOODPECKER_GITEA_SKIP_VERIFY (#1152) (#1151) + - update golang.org/x/crypto (#1124) + - Implement Refresher for GitLab (#1031) (#1120) + - Make returned proc list to be returned always in correct order (#1060) (#1065) + - Update type of 'log_data' from blob to longblob (#1050) (#1052) + - Make ListItem component more accessible by using a button tag when clickable (#1044) (#1046) +- MISC + - Update base images (#1024) (#1025) ## [0.15.3](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.3) - 2022-06-16 -* SECURITY - * Update github.com/containerd/containerd (#978) (#980) -* BUGFIXES - * Return to page after clicking login at navbar (#975) (#976) +- SECURITY + - Update github.com/containerd/containerd (#978) (#980) +- BUGFIXES + - Return to page after clicking login at navbar (#975) (#976) ## [0.15.2](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.2) - 2022-06-14 -* BUGFIXES - * Fix uppercase from_secrets (#842) (#925) - * Fix key/val format for dind env vars (#889) (#890) - * Update helm chart releasing (#882) (#888) -* DOCUMENTATION - * Fix run_on references with runs_on in docs (#965) +- BUGFIXES + - Fix uppercase from_secrets (#842) (#925) + - Fix key/val format for dind env vars (#889) (#890) + - Update helm chart releasing (#882) (#888) +- DOCUMENTATION + - Fix run_on references with runs_on in docs (#965) ## [0.15.1](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.1) - 2022-04-13 -* SECURITY - * Escape html / xml in log view (#879) (#880) -* FEATURES - * Build multiarch images for server (#821) (#822) -* BUGFIXES - * Branch list enhancements (#808) (#809) - * Get Netrc machine from clone url (#800) (#803) +- SECURITY + - Escape html / xml in log view (#879) (#880) +- FEATURES + - Build multiarch images for server (#821) (#822) +- BUGFIXES + - Branch list enhancements (#808) (#809) + - Get Netrc machine from clone url (#800) (#803) ## [v0.15.0](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.15.0) - 2022-02-24 -* BREAKING - * Change paths to use woodpecker instead of drone (#494) - * Move plugin config to root.pipeline.[step].settings (#464) - * Replace debug with log-level flag (#440) - * Change prometheus metrics from `drone_*` to `woodpecker_*` (#439) - * Replace DRONE_ with CI_ variables in pipeline steps (#427) - * Enable pull_request hook by default on repository activation (#420) - * Remote Gitea drop basic auth support (#365) - * Change pipeline config path resolution (#299) - * Remove push, tag and deployment webhook filters (#281) - * Clean up config environment variables for server and agent (#218) -* SECURITY - * Add linter bidichk to prevent malicious utf8 chars (#516) -* FEATURES - * Show changed files of pipeline in UI (#650) - * Show yml config of pipeline in UI (#649) - * Multiarch build for cli and agent docker images (#634), (#622) - * Get secrets in settings (#604) - * Add multi-pipeline support to exec & lint (#568) - * Add repo branches endpoint (#481) - * Add repo permission endpoint (#436) - * Add web-config endpoint (#433) - * Replace www-path with www-proxy option for development (#248) -* BUGFIXES - * Make gRPC error "too many keepalive pings" only show up in trace logs (#787) - * WOODPECKER_ENVIRONMENT: ignore items only containing a key and no value (#781) - * Fix pipeline timestamps (#730) - * Remove "panic()" as much as possible from code (#682) - * Send decline events back to UI (#680) - * Notice all changed files of all related commits for gitea push webhooks (#675) - * Use global branch filter only on events containing branch info (#659) - * API GetRepos() return empty list if no active repos exist (#658) - * Skip nested GitLab repositories during sync (#656), (#652) - * Build proc tree function should not depend on sorted procs list (#647) - * Fix sqlite migration on column drop of abnormal schemas (#629) - * Fix gRPC incompatibility in helm chart (#627) - * Fix new pipeline not published to UI if protected repo mode enabled (#619) - * Dont panic, report error back (#582) - * Improve status updates (#561) - * Let normal repo admins change timeout to lower values (#543) - * Fix registry delete (#532) - * Fix overflowing commit messages (#528) - * Fix passing of netrc credentials to clone step (#492) - * Fix various typos (#416) - * Append trailing slash to default GH API URL (#411) - * Fix filter pipeline config files (#279) -* ENHANCEMENTS - * Return better error if repo was deleted/renamed (#780) - * Add support to set default clone image via environment variable (#769) - * Add flag to always authenticate when cloning public repositories from locked down / private only forges (#760) - * UI: show date time on hover over time items (#756) - * Add repo-link to badge markdown in UI (#753) - * Allow specifying dind container in values (#750) - * Add page to view all projects of a user / group (#741) - * Let non required migration tasks fail and continue (#729) - * Improve pipeline compiler (#699) - * Support ChangedFiles for GitHub & Gitlab PRs and pushes and Gitea pushes (#697) - * Remove unused flags / options (#693) - * Automatically determine platform of agent (#690) - * Build ref link point to commit not compare if only one commit was pushed (#673) - * Hide multi line secrets from log (#671) - * Do not exclude repo owner from gated rule (#641) - * Add field for image list in Secrets Repo Settings (Web UI) (#638) - * Use Woodpecker theme colors on Safari Tab Bar / Header Bar (#632) - * Add "woodpeckerci/plugin-docker-buildx" to privileged plugins (#623) - * Use gitlab generic webhooks instead of drone-ci-service (#620) - * Calculate build number on creation (#615) - * Hide gin routes logging on non-debug starts (#603) - * Let remove be a remove (#593) - * Add flag to set oauth redirect host in dev mode (#586) - * Add log-level option to cli (#584) - * Improve favicons (#576) - * Show icon and index of a pull request in pipelines triggered by pull requests (#575) - * Improve secrets tab (#574) - * Use monospace font for build logs (#527) - * Show environ in every BuildProc (#526) - * Drop error only on purpose or else report back or log (#514) - * Migrate database backend to Xorm (#474) - * Add backend selection for agent (#463) - * Switch default git plugin (#449) - * Add log level API (#444) - * Move entirely to zerolog (#426) - * Pass context.Context down (#371) - * Extend Logging & Report to WebHook Caller back if pulls are disabled (#369) - * If config is no file assume its a folder (#354) - * Rename cmd agent and server folders and binaries (#330) - * Release Helm charts (#302) - * Add flag for specific grpc server addr (#295) - * Add option to charts, to pass in topology pod constraints (#262) - * Use server-host as source for public links and warn if it is set to localhost (#251) - * Rewrite of UI (#245) -* REFACTOR - * Remove github.com/kr/pretty in favor of assert.EqualValues() (#564) - * Simplify web router code (#541) - * Server obtain remote from glob config not from context (#540) - * Serve index.html directly without template (#539) - * Add linter revive, unused, ineffassign, varcheck, structcheck, staticcheck, whitespace, misspell (#550), (#551), (#554), (#538), (#537), (#535), (#531), (#530) - * Rename struct field and add new types into server/model's (#523) - * Update database in one transaction on syncing user repositories (#513) - * Format code with 'simplify' flag and check via CI (#509) - * Use Goblin Assert as intended (#501) - * Embedding libcompose types for yaml parsing (#495) - * Use std method to get SystemCertPool (#488) - * Upgrade urfave/cli to v2 (#483) - * Remove some wrapper and make code more readable (#478) - * More logging and refactor (#457) - * Simplify routes (#437) - * Move api-routes to separate file (#434) - * Rename drone-go to woodpecker-go (#390) - * Remove ghodss/yaml (#384) - * Move model/ to server/model/ (#366) - * Use moby definitions for docker pipeline backend (#364) - * Rewrite Gitlab Remote (#358) - * Update Generated Proto Code (#351) - * Remove legacy/unused code + misc cleanups (#331) - * CLI use version from version/version.go (#329) - * Move cli/drone/ to cli/ (#329) - * Cleanup Code (#348) - * Move cncd/pipeline/pipeline/ to pipeline/ (#347) - * Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/ (#346) - * Move remote/ to server/remote/ (#344) - * Move plugins/ to server/plugins/ (#343) - * Move store/ to server/store/ (#341) - * Move router/ to server/router/ (#339) - * Create agent/ package for backend agnostic logic (#338) - * Reorganize into server/{api,grpc,shared} packages (#337) -* TESTING - * Add tests framework for storage migration (#630) - * Add more golangci-lint linters & sort them (#499) (#502) - * Compile on pull too (#287) -* DOCUMENTATION - * Add note about Gitlab & Gitea internal connections to docs (#711) - * Add registries docs (#679) - * Add documentation of all agent configuration options (#667) - * Add `repo` to `when` block (#642) - * Add development docs (#610) - * Clarify Docs on Docker for new users in intro (#606) - * Update Documentation (fix diffs and add settings) (#569) - * Add notice of supported YAML versions in docs (#556) - * Update Agent and Pipeline syntax documentation (#506) - * Update docs about selecting agent based on platform (#470) - * Add plugin marketplace (for official plugins) (#451) - * Add search to docs (#448) - * Add image migration docs (#406) - * Add security policy (#396) - * Explain open registration setting (#361) - * Add json schema and cli lint command (#342) - * Improve docs deployment (#333) - * Improve plugin docs (#313) - * Add Support section to README (#310) - * Community Guide (#296) - * Migrate docs framework to Docusaurus (#282) - * Use woodpecker env variable instead of drone in docker-compose (#264) -* MISC - * Add support for building in docker (#759) - * Compile for more platforms on release (#703) - * Build agent for multiple platforms (arm, arm64, amd64, linux, windows, darwin) (#408) - * Release deb, rpm bundles (#405) - * Release cli images (#404) - * Publish alpine container (#398) - * Migrate go-docker to docker/docker (#363) - * Use go's vendoring (#284) +- BREAKING + - Change paths to use woodpecker instead of drone (#494) + - Move plugin config to root.pipeline.[step].settings (#464) + - Replace debug with log-level flag (#440) + - Change prometheus metrics from `drone_*` to `woodpecker_*` (#439) + - Replace DRONE_with CI_ variables in pipeline steps (#427) + - Enable pull_request hook by default on repository activation (#420) + - Remote Gitea drop basic auth support (#365) + - Change pipeline config path resolution (#299) + - Remove push, tag and deployment webhook filters (#281) + - Clean up config environment variables for server and agent (#218) +- SECURITY + - Add linter bidichk to prevent malicious utf8 chars (#516) +- FEATURES + - Show changed files of pipeline in UI (#650) + - Show yml config of pipeline in UI (#649) + - Multiarch build for cli and agent docker images (#634), (#622) + - Get secrets in settings (#604) + - Add multi-pipeline support to exec & lint (#568) + - Add repo branches endpoint (#481) + - Add repo permission endpoint (#436) + - Add web-config endpoint (#433) + - Replace www-path with www-proxy option for development (#248) +- BUGFIXES + - Make gRPC error "too many keepalive pings" only show up in trace logs (#787) + - WOODPECKER_ENVIRONMENT: ignore items only containing a key and no value (#781) + - Fix pipeline timestamps (#730) + - Remove "panic()" as much as possible from code (#682) + - Send decline events back to UI (#680) + - Notice all changed files of all related commits for gitea push webhooks (#675) + - Use global branch filter only on events containing branch info (#659) + - API GetRepos() return empty list if no active repos exist (#658) + - Skip nested GitLab repositories during sync (#656), (#652) + - Build proc tree function should not depend on sorted procs list (#647) + - Fix sqlite migration on column drop of abnormal schemas (#629) + - Fix gRPC incompatibility in helm chart (#627) + - Fix new pipeline not published to UI if protected repo mode enabled (#619) + - Dont panic, report error back (#582) + - Improve status updates (#561) + - Let normal repo admins change timeout to lower values (#543) + - Fix registry delete (#532) + - Fix overflowing commit messages (#528) + - Fix passing of netrc credentials to clone step (#492) + - Fix various typos (#416) + - Append trailing slash to default GH API URL (#411) + - Fix filter pipeline config files (#279) +- ENHANCEMENTS + - Return better error if repo was deleted/renamed (#780) + - Add support to set default clone image via environment variable (#769) + - Add flag to always authenticate when cloning public repositories from locked down / private only forges (#760) + - UI: show date time on hover over time items (#756) + - Add repo-link to badge markdown in UI (#753) + - Allow specifying dind container in values (#750) + - Add page to view all projects of a user / group (#741) + - Let non required migration tasks fail and continue (#729) + - Improve pipeline compiler (#699) + - Support ChangedFiles for GitHub & Gitlab PRs and pushes and Gitea pushes (#697) + - Remove unused flags / options (#693) + - Automatically determine platform of agent (#690) + - Build ref link point to commit not compare if only one commit was pushed (#673) + - Hide multi line secrets from log (#671) + - Do not exclude repo owner from gated rule (#641) + - Add field for image list in Secrets Repo Settings (Web UI) (#638) + - Use Woodpecker theme colors on Safari Tab Bar / Header Bar (#632) + - Add "woodpeckerci/plugin-docker-buildx" to privileged plugins (#623) + - Use gitlab generic webhooks instead of drone-ci-service (#620) + - Calculate build number on creation (#615) + - Hide gin routes logging on non-debug starts (#603) + - Let remove be a remove (#593) + - Add flag to set oauth redirect host in dev mode (#586) + - Add log-level option to cli (#584) + - Improve favicons (#576) + - Show icon and index of a pull request in pipelines triggered by pull requests (#575) + - Improve secrets tab (#574) + - Use monospace font for build logs (#527) + - Show environ in every BuildProc (#526) + - Drop error only on purpose or else report back or log (#514) + - Migrate database backend to Xorm (#474) + - Add backend selection for agent (#463) + - Switch default git plugin (#449) + - Add log level API (#444) + - Move entirely to zerolog (#426) + - Pass context.Context down (#371) + - Extend Logging & Report to WebHook Caller back if pulls are disabled (#369) + - If config is no file assume its a folder (#354) + - Rename cmd agent and server folders and binaries (#330) + - Release Helm charts (#302) + - Add flag for specific grpc server addr (#295) + - Add option to charts, to pass in topology pod constraints (#262) + - Use server-host as source for public links and warn if it is set to localhost (#251) + - Rewrite of UI (#245) +- REFACTOR + - Remove github.com/kr/pretty in favor of assert.EqualValues() (#564) + - Simplify web router code (#541) + - Server obtain remote from glob config not from context (#540) + - Serve index.html directly without template (#539) + - Add linter revive, unused, ineffassign, varcheck, structcheck, staticcheck, whitespace, misspell (#550), (#551), (#554), (#538), (#537), (#535), (#531), (#530) + - Rename struct field and add new types into server/model's (#523) + - Update database in one transaction on syncing user repositories (#513) + - Format code with 'simplify' flag and check via CI (#509) + - Use Goblin Assert as intended (#501) + - Embedding libcompose types for yaml parsing (#495) + - Use std method to get SystemCertPool (#488) + - Upgrade urfave/cli to v2 (#483) + - Remove some wrapper and make code more readable (#478) + - More logging and refactor (#457) + - Simplify routes (#437) + - Move api-routes to separate file (#434) + - Rename drone-go to woodpecker-go (#390) + - Remove ghodss/yaml (#384) + - Move model/ to server/model/ (#366) + - Use moby definitions for docker pipeline backend (#364) + - Rewrite Gitlab Remote (#358) + - Update Generated Proto Code (#351) + - Remove legacy/unused code + misc cleanups (#331) + - CLI use version from version/version.go (#329) + - Move cli/drone/ to cli/ (#329) + - Cleanup Code (#348) + - Move cncd/pipeline/pipeline/ to pipeline/ (#347) + - Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/ (#346) + - Move remote/ to server/remote/ (#344) + - Move plugins/ to server/plugins/ (#343) + - Move store/ to server/store/ (#341) + - Move router/ to server/router/ (#339) + - Create agent/ package for backend agnostic logic (#338) + - Reorganize into server/{api,grpc,shared} packages (#337) +- TESTING + - Add tests framework for storage migration (#630) + - Add more golangci-lint linters & sort them (#499) (#502) + - Compile on pull too (#287) +- DOCUMENTATION + - Add note about Gitlab & Gitea internal connections to docs (#711) + - Add registries docs (#679) + - Add documentation of all agent configuration options (#667) + - Add `repo` to `when` block (#642) + - Add development docs (#610) + - Clarify Docs on Docker for new users in intro (#606) + - Update Documentation (fix diffs and add settings) (#569) + - Add notice of supported YAML versions in docs (#556) + - Update Agent and Pipeline syntax documentation (#506) + - Update docs about selecting agent based on platform (#470) + - Add plugin marketplace (for official plugins) (#451) + - Add search to docs (#448) + - Add image migration docs (#406) + - Add security policy (#396) + - Explain open registration setting (#361) + - Add json schema and cli lint command (#342) + - Improve docs deployment (#333) + - Improve plugin docs (#313) + - Add Support section to README (#310) + - Community Guide (#296) + - Migrate docs framework to Docusaurus (#282) + - Use woodpecker env variable instead of drone in docker-compose (#264) +- MISC + - Add support for building in docker (#759) + - Compile for more platforms on release (#703) + - Build agent for multiple platforms (arm, arm64, amd64, linux, windows, darwin) (#408) + - Release deb, rpm bundles (#405) + - Release cli images (#404) + - Publish alpine container (#398) + - Migrate go-docker to docker/docker (#363) + - Use go's vendoring (#284) ## [v0.14.4](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.14.4) - 2022-01-31 -* BUGFIXES - * Docker Images use golang image for ca-certificates (#608) +- BUGFIXES + - Docker Images use golang image for ca-certificates (#608) ## [v0.14.3](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.14.3) - 2021-10-30 -* BUGFIXES - * Add flag for not fetching permissions (FlatPermissions) (#491) - * Gitea use default branch (#480) (#482) - * Fix repo access (#476) (#477) -* ENHANCEMENTS - * Use go embed for web files and remove httptreemux (#382) (#489) +- BUGFIXES + - Add flag for not fetching permissions (FlatPermissions) (#491) + - Gitea use default branch (#480) (#482) + - Fix repo access (#476) (#477) +- ENHANCEMENTS + - Use go embed for web files and remove httptreemux (#382) (#489) ## [v0.14.2](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.14.2) - 2021-10-19 -* BUGFIXES - * Fix sanitizePath (#326) (aa4fa9aab3) - * Fix json tag for `Pos` at struct `Line` (#422) (#424) - * Fix channel buffer used with signal.Notify (#421) (#423) -* ENHANCEMENTS - * Support recursive glob for path conditions (#327) (#412) -* TESTING - * Add TestPipelineName to procBuilder_test.go (#461) (#455) +- BUGFIXES + - Fix sanitizePath (#326) (aa4fa9aab3) + - Fix json tag for `Pos` at struct `Line` (#422) (#424) + - Fix channel buffer used with signal.Notify (#421) (#423) +- ENHANCEMENTS + - Support recursive glob for path conditions (#327) (#412) +- TESTING + - Add TestPipelineName to procBuilder_test.go (#461) (#455) ## [v0.14.1](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.14.1) - 2021-09-21 -* SECURITY - * Migrate jwt token lib (#332) -* BUGFIXES - * Increase allowed length for user token in db (#328) - * Fix cli matrix filter (#311) - * Fix ignore pushes to tags for gitea (#289) - * Fix use custom config path to sanitize build names (#280) +- SECURITY + - Migrate jwt token lib (#332) +- BUGFIXES + - Increase allowed length for user token in db (#328) + - Fix cli matrix filter (#311) + - Fix ignore pushes to tags for gitea (#289) + - Fix use custom config path to sanitize build names (#280) ## [v0.14.0](https://github.com/woodpecker-ci/woodpecker/releases/tag/v0.14.0) - 2021-08-01 -* FEATURES - * Add OAuth2 Support for Gitea Remote (#226) - * Add support for path-prefix condition (#174) -* BUGFIXES - * Allow multi pipeline file to be named .drone.yml (#250) - * Fix release-server make target by build server with correct option (#237) - * Fix Gitea unable to login on 0.12.0+ with error "cannot authenticate user. 403 Forbidden" (#221) -* ENHANCEMENTS - * Update / Remove drone dependencies (#236) - * Add support to gitea remote for path-prefix condition (#235) - * Enable go vet for ci (#230) - * Enforce code format (#228) - * Add multi-pipeline to Gitea (#225) - * Move flag definitions into extra files (#215) - * Remove unused code in server (#213) - * Docs URL configuration (#206) - * Filter main branch (#205) - * Fix multi pipeline bug when a pipeline depends on two other pipelines (#201) - * Using configured server URL instead of obtained from request (#175) -* DOCUMENTATION - * Switch in docs to new docker hub image repo (#227) - * Use WOODPECKER_ env vars in docs (#211) - * Also show WOODPECKER_HOST and WOODPECKER_SERVER_HOST environment variables in log messages (#208) - * Move woodpecker to dedicated organisation on github (#202) -* MISC - * Add chart for installing woodpecker server and agent (#199) +- FEATURES + - Add OAuth2 Support for Gitea Remote (#226) + - Add support for path-prefix condition (#174) +- BUGFIXES + - Allow multi pipeline file to be named .drone.yml (#250) + - Fix release-server make target by build server with correct option (#237) + - Fix Gitea unable to login on 0.12.0+ with error "cannot authenticate user. 403 Forbidden" (#221) +- ENHANCEMENTS + - Update / Remove drone dependencies (#236) + - Add support to gitea remote for path-prefix condition (#235) + - Enable go vet for ci (#230) + - Enforce code format (#228) + - Add multi-pipeline to Gitea (#225) + - Move flag definitions into extra files (#215) + - Remove unused code in server (#213) + - Docs URL configuration (#206) + - Filter main branch (#205) + - Fix multi pipeline bug when a pipeline depends on two other pipelines (#201) + - Using configured server URL instead of obtained from request (#175) +- DOCUMENTATION + - Switch in docs to new docker hub image repo (#227) + - Use WOODPECKER_ env vars in docs (#211) + - Also show WOODPECKER_HOST and WOODPECKER_SERVER_HOST environment variables in log messages (#208) + - Move woodpecker to dedicated organisation on github (#202) +- MISC + - Add chart for installing woodpecker server and agent (#199) diff --git a/Makefile b/Makefile index 40062a479..50dfe39c2 100644 --- a/Makefile +++ b/Makefile @@ -63,6 +63,7 @@ else ##@ General +.PHONY: all all: help .PHONY: version @@ -167,6 +168,7 @@ test-ui: ui-dependencies ## Test UI code test-lib: ## Test lib code go test -race -cover -coverprofile coverage.out -timeout 30s $(shell go list ./... | grep -v '/cmd\|/agent\|/cli\|/server') +.PHONY: test test: test-agent test-server test-server-datastore test-cli test-lib test-ui ## Run all tests ##@ Build @@ -183,6 +185,7 @@ build-agent: ## Build agent build-cli: ## Build cli CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-cli${BIN_SUFFIX} github.com/woodpecker-ci/woodpecker/cmd/cli +.PHONY: build build: build-agent build-server build-cli ## Build all binaries release-frontend: build-frontend ## Build frontend @@ -250,6 +253,7 @@ release-checksums: ## Create checksums for all release files # generate shas for tar files (cd dist/; sha256sum *.* > checksums.txt) +.PHONY: release release: release-frontend release-server release-agent release-cli ## Release all binaries bundle-prepare: ## Prepare the bundles @@ -267,6 +271,7 @@ bundle-cli: bundle-prepare ## Create bundles for cli VERSION_NUMBER=$(VERSION_NUMBER) nfpm package --config ./nfpm/nfpm-cli.yml --target ./dist --packager deb VERSION_NUMBER=$(VERSION_NUMBER) nfpm package --config ./nfpm/nfpm-cli.yml --target ./dist --packager rpm +.PHONY: bundle bundle: bundle-agent bundle-server bundle-cli ## Create all bundles ##@ Docs diff --git a/README.md b/README.md index acd37ea0e..3d76ddba9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# Woodpecker +

Woodpecker @@ -41,12 +43,13 @@ + + +


-# Woodpecker - -> Woodpecker is a community fork of the Drone CI system. +Woodpecker is a community fork of the Drone CI system. ![woodpecker](docs/docs/woodpecker.png) @@ -58,7 +61,7 @@ Please consider to donate and become a backer. 🙏 [[Become a backer](https://o ## 📖 Documentation -https://woodpecker-ci.org/ + ## ✨ Contribute diff --git a/SECURITY.md b/SECURITY.md index e8b2d95f2..2491fe0cc 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,9 +1,9 @@ # Security -We take security seriously. +We take security seriously. If you discover a security issue, please bring it to their attention right away! -### Reporting a Vulnerability +## Reporting a Vulnerability Please **DO NOT** file a public issue, instead send your report privately to [`security @ woodpecker-ci.org`](mailto:security@woodpecker-ci.org). diff --git a/cli/README.md b/cli/README.md index 005e7412b..9e2c7861d 100644 --- a/cli/README.md +++ b/cli/README.md @@ -2,4 +2,4 @@ Command line client for the Woodpecker continuous integration server. -Please see the official documentation at https://woodpecker-ci.org/docs/cli +Please see the official documentation at diff --git a/docs/README.md b/docs/README.md index 822be2019..673bfe22c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,13 +2,13 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. -### Installation +## Installation ```bash pnpm install ``` -### Local Development +## Local Development ```bash pnpm start @@ -16,7 +16,7 @@ pnpm start This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. -### Build +## Build ```bash pnpm build @@ -24,7 +24,7 @@ pnpm build This command generates static content into the `build` directory and can be served using any static contents hosting service. -### Deployment +## Deployment Deployment happen via [CI](https://github.com/woodpecker-ci/woodpecker/blob/d59fdb4602bfdd0d00078716ba61b05c02cbd1af/.woodpecker/docs.yml#L8-L30) to [woodpecker-ci.org](https://woodpecker-ci.org). diff --git a/docs/blog/2023-06-11-hello-blog/index.md b/docs/blog/2023-06-11-hello-blog/index.md index 44436794e..f7036c73d 100644 --- a/docs/blog/2023-06-11-hello-blog/index.md +++ b/docs/blog/2023-06-11-hello-blog/index.md @@ -1,6 +1,6 @@ --- title: Welcome Woodpecker's blog -description: This our first post on Woodpecker. +description: This our first post on Woodpecker slug: hello-blog authors: - name: Anbraten diff --git a/docs/blog/2023-07-28-release-v1.0.0/index.md b/docs/blog/2023-07-28-release-v1.0.0/index.md index b5db8ec39..3388419f5 100644 --- a/docs/blog/2023-07-28-release-v1.0.0/index.md +++ b/docs/blog/2023-07-28-release-v1.0.0/index.md @@ -16,12 +16,12 @@ It took us quite some time, but now we are sure it's ready, and you should reall -We've refactored a lot of code, so contributing to the codebase should be much easier. -Furthermore, a ton of bugs where addressed and various enhancements introduced, along with some highly anticipated features. +We've refactored a lot of code, so contributing to the codebase should be much easier. +Furthermore, a ton of bugs where addressed and various enhancements introduced, along with some highly anticipated features. With Woodpecker v1.0.0, you can now substantially improve and streamline your code pipelines, empowering you to automate and optimize workflows like never before. -## Some picked highlights: +## Some picked highlights ### Add Support for Cron Jobs @@ -31,33 +31,33 @@ Schedule pipelines to run at specified intervals or times, optimizing repetitive ### YAML Map Merge, Overrides, and Sequence Merge Support -With enhanced YAML support, managing complex configurations becomes a breeze. +With enhanced YAML support, managing complex configurations becomes a breeze. Merge maps, apply overrides, and sequence merging—all within your YAML files. This is providing more flexibility and control over your pipelines. [Read more](/docs/usage/advanced-yaml-syntax) ### Web-UI for Admins -Simplify administration tasks with Woodpecker's new Admin UI. +Simplify administration tasks with Woodpecker's new Admin UI. Effortlessly manage user accounts, agents, and tasks, including adding new agents or pausing the task queue for maintenance. ![Image of admin queue view](./admin_queue_ui.png) ### Localize Web-UI -Embrace internationalization by changing your locale in the user settings. -Interact with Woodpecker in the language of your choice, tailored to your preferences. +Embrace internationalization by changing your locale in the user settings. +Interact with Woodpecker in the language of your choice, tailored to your preferences. If your language is not available or only partially translated, consider contributing to our [Weblate](https://translate.woodpecker-ci.org/engage/woodpecker-ci/). ### Add `evaluate` to `when` Filter Enhance pipeline flexibility with the new "when evaluate" filter, enabling or disabling steps based on custom conditions. -Customize your workflows to dynamically respond to specific triggers and events. +Customize your workflows to dynamically respond to specific triggers and events. [Read more](/docs/usage/pipeline-syntax#evaluate) ### Global- and Organization-Secrets -Save time and effort by declaring secrets for your entire instance or organization. +Save time and effort by declaring secrets for your entire instance or organization. Simplify your workflow and securely manage sensitive information across projects. ![Image of settings view of org secrets](./org_secrets.png) diff --git a/docs/docs/20-usage/10-intro.md b/docs/docs/20-usage/10-intro.md index 8512ed621..789369668 100644 --- a/docs/docs/20-usage/10-intro.md +++ b/docs/docs/20-usage/10-intro.md @@ -8,11 +8,14 @@ Webhooks are used to trigger pipeline executions. When you push code to your rep ![repository list](repo-list.png) -> Required Permissions -> -> The user who enables a repo in Woodpecker must have `Admin` rights on that repo, so that Woodpecker can add the webhook. -> -> Note that manually creating webhooks yourself is not possible. This is because webhooks are signed using a per-repository secret key which is not exposed to end users. +## Required Permissions + +The user who enables a repo in Woodpecker must have `Admin` rights on that repo, so that Woodpecker can add the webhook. + +:::note +Note that manually creating webhooks yourself is not possible. +This is because webhooks are signed using a per-repository secret key which is not exposed to end users. +::: ## Configuration diff --git a/docs/docs/20-usage/15-terminiology/architecture.svg b/docs/docs/20-usage/15-terminiology/architecture.svg index 45967fc92..b34e96fdd 100644 --- a/docs/docs/20-usage/15-terminiology/architecture.svg +++ b/docs/docs/20-usage/15-terminiology/architecture.svg @@ -1,6 +1,6 @@ - + - + - ServerUIGRPCAgent 1User => BrowserAutoscalerStarts agents based on amount of pending pipelinesExecutes pending workflows of a pipelineCentral unit of a Woodpecker instance ForgeGithub, Gitea, Github, Bitbucket, ...WebhooksOAuthsends events like push, tag, ...allows users to login using existing accountreceives workflows & returns logs + statusesreceives workflows & returns logs + statusesBackendThe backend is the environment (exp. Docker / Kubernetes / local) used to execute workflows in.startsAgent ... \ No newline at end of file + ServerUIGRPCAgent 1User => BrowserAutoscalerStarts agents based on amount of pending pipelinesExecutes pending workflows of a pipelineCentral unit of a Woodpecker instance ForgeGithub, Gitea, Github, Bitbucket, ...WebhooksOAuthsends events like push, tag, ...allows users to login using existing accountreceives workflows & returns logs + statusesreceives workflows & returns logs + statusesBackendThe backend is the environment (exp. Docker / Kubernetes / local) used to execute workflows in.startsAgent ... diff --git a/docs/docs/20-usage/15-terminiology/pipeline-workflow-step.svg b/docs/docs/20-usage/15-terminiology/pipeline-workflow-step.svg index 555347d60..4ea3aab0a 100644 --- a/docs/docs/20-usage/15-terminiology/pipeline-workflow-step.svg +++ b/docs/docs/20-usage/15-terminiology/pipeline-workflow-step.svg @@ -1,6 +1,6 @@ - + - + - PipelineClone step1. Step2. StepA pipeline is triggered by an eventlike a push, tag, manualEvery pipeline consists of multiple workflows.Each defined by a separate YAML file and is named after the filename.Each workflow has its own workspace (folder) which isused by all steps of that workflow.The default first step of each workflow is the clone step.Its fetches the specific code version for a pipeline.Workflow "build"Clone step1. Step2. StepWorkflow "test"Additional steps are used to execute commands or pluginslike `make install` or release-to-github \ No newline at end of file + PipelineClone step1. Step2. StepA pipeline is triggered by an eventlike a push, tag, manualEvery pipeline consists of multiple workflows.Each defined by a separate YAML file and is named after the filename.Each workflow has its own workspace (folder) which isused by all steps of that workflow.The default first step of each workflow is the clone step.Its fetches the specific code version for a pipeline.Workflow "build"Clone step1. Step2. StepWorkflow "test"Additional steps are used to execute commands or pluginslike `make install` or release-to-github diff --git a/docs/docs/20-usage/20-workflow-syntax.md b/docs/docs/20-usage/20-workflow-syntax.md index fad2711c1..58c6bd5ef 100644 --- a/docs/docs/20-usage/20-workflow-syntax.md +++ b/docs/docs/20-usage/20-workflow-syntax.md @@ -40,7 +40,7 @@ steps: Keep in mind the name is optional, if not added the steps will be numerated. -### Skip Commits +## Skip Commits Woodpecker gives the ability to skip individual commits by adding `[SKIP CI]` or `[CI SKIP]` to the commit message. Note this is case-insensitive. diff --git a/docs/docs/30-administration/00-deployment/00-overview.md b/docs/docs/30-administration/00-deployment/00-overview.md index 9e48d9d6a..762bfade9 100644 --- a/docs/docs/30-administration/00-deployment/00-overview.md +++ b/docs/docs/30-administration/00-deployment/00-overview.md @@ -5,11 +5,12 @@ A Woodpecker deployment consists of two parts: - A server which is the heart of Woodpecker and ships the web interface. - Next to one server you can deploy any number of agents which will run the pipelines. -> Each agent is able to process one pipeline step by default. -> -> If you have 4 agents installed and connected to the Woodpecker server, your system will process 4 workflows in parallel. -> -> You can add more agents to increase the number of parallel workflows or set the agent's `WOODPECKER_MAX_WORKFLOWS=1` environment variable to increase the number of parallel workflows for that agent. +Each agent is able to process one pipeline step by default. +If you have 4 agents installed and connected to the Woodpecker server, your system will process 4 workflows in parallel. + +:::tip +You can add more agents to increase the number of parallel workflows or set the agent's `WOODPECKER_MAX_WORKFLOWS=1` environment variable to increase the number of parallel workflows for that agent. +::: ## Which version of Woodpecker should I use? @@ -60,7 +61,7 @@ A [Prometheus endpoint](../90-prometheus.md) is exposed. See the [proxy guide](../70-proxy.md) if you want to see a setup behind Apache, Nginx, Caddy or ngrok. -In the case you need to use Woodpecker with a URL path prefix (like: https://example.org/woodpecker/), you can use the option [`WOODPECKER_ROOT_PATH`](../10-server-config.md#woodpecker_root_path). +In the case you need to use Woodpecker with a URL path prefix (like: ), you can use the option [`WOODPECKER_ROOT_PATH`](../10-server-config.md#woodpecker_root_path). ## Third-party installation methods diff --git a/docs/docs/30-administration/10-server-config.md b/docs/docs/30-administration/10-server-config.md index e3740338e..9cf2a879a 100644 --- a/docs/docs/30-administration/10-server-config.md +++ b/docs/docs/30-administration/10-server-config.md @@ -20,9 +20,9 @@ services: + - WOODPECKER_OPEN=true ``` -You can **also restrict** registration, by keep registration closed and ... -... **adding** new **users manually** via the CLI: `woodpecker-cli user add`, or -... allowing specific **admin users** via the `WOODPECKER_ADMIN` setting, or +You can **also restrict** registration, by keep registration closed and ...\ +... **adding** new **users manually** via the CLI: `woodpecker-cli user add`, or\ +... allowing specific **admin users** via the `WOODPECKER_ADMIN` setting, or\ by open registration and **filter by organization** membership through the `WOODPECKER_ORGS` setting. ### To close registration, but allow specific admin users @@ -156,7 +156,7 @@ WOODPECKER_CUSTOM_CSS_FILE=/usr/local/www/woodpecker.js The examples below show how to place a banner message in the top navigation bar of Woodpecker. -##### woodpecker.css +### woodpecker.css ```css .banner-message { @@ -172,7 +172,7 @@ The examples below show how to place a banner message in the top navigation bar } ``` -##### woodpecker.js +### woodpecker.js ```javascript // place/copy a minified version of jQuery or ZeptoJS here ... diff --git a/docs/docs/30-administration/11-forges/20-github.md b/docs/docs/30-administration/11-forges/20-github.md index 367e78820..088a841e7 100644 --- a/docs/docs/30-administration/11-forges/20-github.md +++ b/docs/docs/30-administration/11-forges/20-github.md @@ -21,7 +21,7 @@ Do not use a "GitHub App" instead of an Oauth2 app as the former will not work c - Name: An arbitrary name for your App - Homepage URL: The URL of your Woodpecker instance - Callback URL: `https:///authorize` -- (optional) Upload the Woodpecker Logo: https://avatars.githubusercontent.com/u/84780935?s=200&v=4 +- (optional) Upload the Woodpecker Logo: ## Client Secret Creation diff --git a/docs/docs/30-administration/40-encryption.md b/docs/docs/30-administration/40-encryption.md index cef0be4ab..93d8e9ac9 100644 --- a/docs/docs/30-administration/40-encryption.md +++ b/docs/docs/30-administration/40-encryption.md @@ -5,8 +5,8 @@ Secrets encryption is currently broken and therefore disabled by default. It wil Check: -- https://github.com/woodpecker-ci/woodpecker/issues/1541 and -- https://github.com/woodpecker-ci/woodpecker/pull/2300 +- and +- ::: diff --git a/docs/docs/30-administration/90-prometheus.md b/docs/docs/30-administration/90-prometheus.md index cb05bf567..eb7a66b61 100644 --- a/docs/docs/30-administration/90-prometheus.md +++ b/docs/docs/30-administration/90-prometheus.md @@ -46,13 +46,13 @@ scrape_configs: ## Unauthenticated Access -Alternatively, the unprotected `/metrics` endpoint might be exposed on the internal port. (Port is configurable via the `WOODPECKER_METRICS_SERVER_ADDR` environment variable, e.g. `:9001`.) +Alternatively, the unprotected `/metrics` endpoint might be exposed on the internal port (Port is configurable via the `WOODPECKER_METRICS_SERVER_ADDR` environment variable, e.g. `:9001`). ## Metric Reference List of Prometheus metrics specific to Woodpecker: -``` +```yaml # HELP woodpecker_pipeline_count Pipeline count. # TYPE woodpecker_pipeline_count counter woodpecker_build_count{branch="main",pipeline="total",repo="woodpecker-ci/woodpecker",status="success"} 3 diff --git a/docs/docs/92-development/01-getting-started.md b/docs/docs/92-development/01-getting-started.md index 3c700b2bc..855b0b631 100644 --- a/docs/docs/92-development/01-getting-started.md +++ b/docs/docs/92-development/01-getting-started.md @@ -24,7 +24,7 @@ Install Golang (>=1.20) as described by [this guide](https://go.dev/doc/install) ### Install make -> GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. (https://www.gnu.org/software/make/) +> GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files (). Install make on: diff --git a/docs/docs/92-development/03-ui.md b/docs/docs/92-development/03-ui.md index 7bc13b1ee..1fcf45ab4 100644 --- a/docs/docs/92-development/03-ui.md +++ b/docs/docs/92-development/03-ui.md @@ -33,7 +33,7 @@ The following list contains some tools and frameworks used by the Woodpecker UI. ## Messages and Translations -Woodpecker uses [Vue I18n](https://vue-i18n.intlify.dev/) as translation library. New translations have to be added to `web/src/assets/locales/en.json`. The English source file will be automatically imported into [Weblate](https://translate.woodpecker-ci.org/) (the translation system used by Woodpecker) where all other languages will be translated by the community based on the English source. +Woodpecker uses [Vue I18n](https://vue-i18n.intlify.dev/) as translation library. New translations have to be added to `web/src/assets/locales/en.json`. The English source file will be automatically imported into [Weblate](https://translate.woodpecker-ci.org/) (the translation system used by Woodpecker) where all other languages will be translated by the community based on the English source. You must not provide translations except English in PRs, otherwise weblate could put git into conflicts (when someone has translated in that language file and changes are not into main branch yet) For more information about translations see [Translations](./07-translations.md). diff --git a/docs/docs/92-development/08-swagger.md b/docs/docs/92-development/08-swagger.md index 32fd6e059..a3b82419b 100644 --- a/docs/docs/92-development/08-swagger.md +++ b/docs/docs/92-development/08-swagger.md @@ -11,23 +11,23 @@ Whenever you change, add or enhance an API endpoint, please update the godocs. You don't require any extra tools on your machine, all Swagger tooling is automatically fetched by standard Go tools. -### Gin-Handler API documentation guideline +## Gin-Handler API documentation guideline Here's a typical example of how annotations for Swagger documentation look like... ```text --- server/api/user.go --- -// @Summary Get a user -// @Description Returns a user with the specified login name. Requires admin rights. -// @Router /users/{login} [get] -// @Produce json -// @Success 200 {object} User -// @Tags Users -// @Param Authorization header string true "Insert your personal access token" default(Bearer ) -// @Param login path string true "the user's login name" +// @Summary Get a user +// @Description Returns a user with the specified login name. Requires admin rights. +// @Router /users/{login} [get] +// @Produce json +// @Success 200 {object} User +// @Tags Users +// @Param Authorization header string true "Insert your personal access token" default(Bearer ) +// @Param login path string true "the user's login name" // @Param foobar query string false "optional foobar parameter" -// @Param page query int false "for response pagination, page offset number" default(1) -// @Param perPage query int false "for response pagination, max items per page" default(50) +// @Param page query int false "for response pagination, page offset number" default(1) +// @Param perPage query int false "for response pagination, max items per page" default(50) ``` ```text @@ -35,7 +35,7 @@ Here's a typical example of how annotations for Swagger documentation look like. type User struct { ID int64 `json:"id" xorm:"pk autoincr 'user_id'"` // ... -} // @name User +} // @name User ``` These guidelines aim to have consistent wording in the swagger doc: @@ -48,11 +48,11 @@ These guidelines aim to have consistent wording in the swagger doc: - `@Param Authorization` is almost always present, there are just a few un-protected endpoints There are many examples in the server/api package, which you can use a blueprint. -More enhanced information you can find here https://github.com/swaggo/swag/blob/main/README.md#declarative-comments-format +More enhanced information you can find here ### Manual code generation -##### generate the server's Go code containing the Swagger +#### generate the server's Go code containing the Swagger ```shell make generate-swagger @@ -70,8 +70,12 @@ make docs go run github.com/swaggo/swag/cmd/swag@latest fmt -g server/api/z.go ``` + + **WARNING, known issue**: using swag v1.18.12 , there's a bug when running the `fmt` command, which makes the swagger generator failing, because it can't find the models/structs/types anymore. To fix it, please replace `// @name\tModelName` with `// @name ModelName`, which means, replace the tab (`\t`) with a space (` `). -See https://github.com/swaggo/swag/pull/1594 == once this is merged and released, the mentioned issue is obsolete. +See == once this is merged and released, the mentioned issue is obsolete. + + diff --git a/docs/docs/92-development/09-security.md b/docs/docs/92-development/09-security.md index e8b2d95f2..2491fe0cc 100644 --- a/docs/docs/92-development/09-security.md +++ b/docs/docs/92-development/09-security.md @@ -1,9 +1,9 @@ # Security -We take security seriously. +We take security seriously. If you discover a security issue, please bring it to their attention right away! -### Reporting a Vulnerability +## Reporting a Vulnerability Please **DO NOT** file a public issue, instead send your report privately to [`security @ woodpecker-ci.org`](mailto:security@woodpecker-ci.org). diff --git a/docs/docs/92-development/ui-proxy.svg b/docs/docs/92-development/ui-proxy.svg index 6ccb74458..79809ffa1 100644 --- a/docs/docs/92-development/ui-proxy.svg +++ b/docs/docs/92-development/ui-proxy.svg @@ -1,6 +1,6 @@ - + - forward requestin dev modeUI Server Port 8010Woodpecker ServerBrowserPort 8000/login/logout/api/.../api/web-config.js/streamEvery other request(404 Handler) \ No newline at end of file + forward requestin dev modeUI Server Port 8010Woodpecker ServerBrowserPort 8000/login/logout/api/.../api/web-config.js/streamEvery other request(404 Handler) diff --git a/docs/versioned_docs/version-0.15/20-usage/22-conditional-execution.md b/docs/versioned_docs/version-0.15/20-usage/22-conditional-execution.md index 81e5f0093..432b05634 100644 --- a/docs/versioned_docs/version-0.15/20-usage/22-conditional-execution.md +++ b/docs/versioned_docs/version-0.15/20-usage/22-conditional-execution.md @@ -150,7 +150,7 @@ when: :::info This feature is currently only available for GitHub, GitLab and Gitea. -Pull requests aren't supported by gitea at the moment ([go-gitea/gitea#18228](https://github.com/go-gitea/gitea/pull/18228)). +Pull requests aren't supported by gitea at the moment ([go-gitea/gitea#18228](https://github.com/go-gitea/gitea/pull/18228)). Path conditions are ignored for tag events. ::: diff --git a/docs/versioned_docs/version-0.15/20-usage/40-secrets.md b/docs/versioned_docs/version-0.15/20-usage/40-secrets.md index 195f3999a..c2584524a 100644 --- a/docs/versioned_docs/version-0.15/20-usage/40-secrets.md +++ b/docs/versioned_docs/version-0.15/20-usage/40-secrets.md @@ -14,7 +14,7 @@ pipeline: + secrets: [ docker_username, docker_password ] ``` -Alternatively, you can get a `setting` from secrets using the `from_secret` syntax. +Alternatively, you can get a `setting` from secrets using the `from_secret` syntax. In this example, the secret named `secret_token` would be passed to the pipeline as `PLUGIN_TOKEN`. **NOTE:** the `from_secret` syntax only works with the newer `settings` block. diff --git a/docs/versioned_docs/version-0.15/20-usage/71-project-settings.md b/docs/versioned_docs/version-0.15/20-usage/71-project-settings.md index 5173ff78a..b2c6ec6bb 100644 --- a/docs/versioned_docs/version-0.15/20-usage/71-project-settings.md +++ b/docs/versioned_docs/version-0.15/20-usage/71-project-settings.md @@ -33,4 +33,3 @@ You can change the visibility of your project by this setting. If a user has acc ## Timeout After this timeout a pipeline has to finish or will be treated as timed out. - diff --git a/docs/versioned_docs/version-0.15/30-administration/15-agent-config.md b/docs/versioned_docs/version-0.15/30-administration/15-agent-config.md index cf3afae54..bf490bf08 100644 --- a/docs/versioned_docs/version-0.15/30-administration/15-agent-config.md +++ b/docs/versioned_docs/version-0.15/30-administration/15-agent-config.md @@ -79,8 +79,8 @@ See [Conditionals Pipeline](../20-usage/20-pipeline-syntax.md#step-when---condit ## All agent configuration options Here is the full list of configuration options and their default variables. -#### `DOCKER_HOST` -> Default: empty +#### `DOCKER_HOST` +> Default: empty Point to an alternate socket file or host. For example, "unix:////run/podman/podman.sock" diff --git a/docs/versioned_docs/version-0.15/30-administration/80-kubernetes.md b/docs/versioned_docs/version-0.15/30-administration/80-kubernetes.md index 6132a5189..10d1d66d8 100644 --- a/docs/versioned_docs/version-0.15/30-administration/80-kubernetes.md +++ b/docs/versioned_docs/version-0.15/30-administration/80-kubernetes.md @@ -210,4 +210,3 @@ spec: - name: sock-dir emptyDir: {} ``` - diff --git a/docs/versioned_docs/version-0.15/92-development/ui-proxy.svg b/docs/versioned_docs/version-0.15/92-development/ui-proxy.svg index 6ccb74458..79809ffa1 100644 --- a/docs/versioned_docs/version-0.15/92-development/ui-proxy.svg +++ b/docs/versioned_docs/version-0.15/92-development/ui-proxy.svg @@ -1,6 +1,6 @@ - + - forward requestin dev modeUI Server Port 8010Woodpecker ServerBrowserPort 8000/login/logout/api/.../api/web-config.js/streamEvery other request(404 Handler) \ No newline at end of file + forward requestin dev modeUI Server Port 8010Woodpecker ServerBrowserPort 8000/login/logout/api/.../api/web-config.js/streamEvery other request(404 Handler) diff --git a/docs/versioned_docs/version-1.0/20-usage/71-project-settings.md b/docs/versioned_docs/version-1.0/20-usage/71-project-settings.md index d65552182..319a07e61 100644 --- a/docs/versioned_docs/version-1.0/20-usage/71-project-settings.md +++ b/docs/versioned_docs/version-1.0/20-usage/71-project-settings.md @@ -21,7 +21,7 @@ Enables handling webhook's pull request event. If disabled, then pipeline won't ### Protected Every pipeline initiated by an webhook event needs to be approved by a project members with push permissions before being executed. -The protected option can be used as an additional review process before running potentially harmful pipelines. Especially if pipelines can be executed by third-parties through pull-requests. +The protected option can be used as an additional review process before running potentially harmful pipelines. Especially if pipelines can be executed by third-parties through pull-requests. ### Trusted diff --git a/docs/versioned_docs/version-1.0/30-administration/10-server-config.md b/docs/versioned_docs/version-1.0/30-administration/10-server-config.md index 9f86cb1c0..9e05c79a9 100644 --- a/docs/versioned_docs/version-1.0/30-administration/10-server-config.md +++ b/docs/versioned_docs/version-1.0/30-administration/10-server-config.md @@ -20,9 +20,9 @@ services: + - WOODPECKER_OPEN=true ``` -You can **also restrict** registration, by keep registration closed and ... -... **adding** new **users manually** via the CLI: `woodpecker-cli user add`, or -... allowing specific **admin users** via the `WOODPECKER_ADMIN` setting, or +You can **also restrict** registration, by keep registration closed and ... +... **adding** new **users manually** via the CLI: `woodpecker-cli user add`, or +... allowing specific **admin users** via the `WOODPECKER_ADMIN` setting, or by open registration and **filter by organization** membership through the `WOODPECKER_ORGS` setting. ### To close registration, but allow specific admin users diff --git a/docs/versioned_docs/version-1.0/30-administration/22-backends/20-local.md b/docs/versioned_docs/version-1.0/30-administration/22-backends/20-local.md index c8c5dbc4e..39ff4c219 100644 --- a/docs/versioned_docs/version-1.0/30-administration/22-backends/20-local.md +++ b/docs/versioned_docs/version-1.0/30-administration/22-backends/20-local.md @@ -115,4 +115,3 @@ labels: steps: [...] ``` - diff --git a/docs/versioned_docs/version-1.0/30-administration/40-encryption.md b/docs/versioned_docs/version-1.0/30-administration/40-encryption.md index 78aab9130..e48ece3ee 100644 --- a/docs/versioned_docs/version-1.0/30-administration/40-encryption.md +++ b/docs/versioned_docs/version-1.0/30-administration/40-encryption.md @@ -1,6 +1,6 @@ # Secrets encryption -By default, Woodpecker does not encrypt secrets in its database. You can enable encryption +By default, Woodpecker does not encrypt secrets in its database. You can enable encryption using simple AES key or more advanced [Google TINK](https://developers.google.com/tink) encryption. ## Common @@ -8,7 +8,7 @@ using simple AES key or more advanced [Google TINK](https://developers.google.co ### Enabling secrets encryption To enable secrets encryption and encrypt all existing secrets in database set -`WOODPECKER_ENCRYPTION_KEY`, `WOODPECKER_ENCRYPTION_KEY_FILE` or `WOODPECKER_ENCRYPTION_TINK_KEYSET_PATH` environment +`WOODPECKER_ENCRYPTION_KEY`, `WOODPECKER_ENCRYPTION_KEY_FILE` or `WOODPECKER_ENCRYPTION_TINK_KEYSET_PATH` environment variable depending on encryption method of your choice. After encryption is enabled you will be unable to start Woodpecker server without providing valid encryption key! @@ -45,7 +45,7 @@ You will need plaintext AEAD-compatible Google TINK keyset to encrypt your data. To generate it and then rotate keys if needed, install `tinkey`([installation guide](https://developers.google.com/tink/install-tinkey)) -Keyset contains one or more keys, used to encrypt or decrypt your data, and primary key ID, used to determine which key +Keyset contains one or more keys, used to encrypt or decrypt your data, and primary key ID, used to determine which key to use while encrypting new data. Keyset generation example: diff --git a/docs/versioned_docs/version-1.0/40-cli.md b/docs/versioned_docs/version-1.0/40-cli.md index 3f4b46c1e..4829d84e1 100644 --- a/docs/versioned_docs/version-1.0/40-cli.md +++ b/docs/versioned_docs/version-1.0/40-cli.md @@ -304,37 +304,37 @@ execute a local pipeline **--backend-ssh-user**="": backend ssh user -**--commit-author-avatar**="": +**--commit-author-avatar**="": -**--commit-author-email**="": +**--commit-author-email**="": -**--commit-author-name**="": +**--commit-author-name**="": -**--commit-branch**="": +**--commit-branch**="": -**--commit-message**="": +**--commit-message**="": -**--commit-ref**="": +**--commit-ref**="": -**--commit-refspec**="": +**--commit-refspec**="": -**--commit-sha**="": +**--commit-sha**="": -**--env**="": +**--env**="": -**--forge-type**="": +**--forge-type**="": -**--forge-url**="": +**--forge-url**="": **--local**: run from local directory **--log-level**="": set logging level (default: info) -**--netrc-machine**="": +**--netrc-machine**="": -**--netrc-password**="": +**--netrc-password**="": -**--netrc-username**="": +**--netrc-username**="": **--network**="": external networks @@ -344,7 +344,7 @@ execute a local pipeline **--pipeline-finished**="": (default: 0) -**--pipeline-link**="": +**--pipeline-link**="": **--pipeline-number**="": (default: 0) @@ -352,53 +352,53 @@ execute a local pipeline **--pipeline-started**="": (default: 0) -**--pipeline-status**="": +**--pipeline-status**="": -**--pipeline-target**="": +**--pipeline-target**="": -**--prev-commit-author-avatar**="": +**--prev-commit-author-avatar**="": -**--prev-commit-author-email**="": +**--prev-commit-author-email**="": -**--prev-commit-author-name**="": +**--prev-commit-author-name**="": -**--prev-commit-branch**="": +**--prev-commit-branch**="": -**--prev-commit-message**="": +**--prev-commit-message**="": -**--prev-commit-ref**="": +**--prev-commit-ref**="": -**--prev-commit-refspec**="": +**--prev-commit-refspec**="": -**--prev-commit-sha**="": +**--prev-commit-sha**="": **--prev-pipeline-created**="": (default: 0) -**--prev-pipeline-event**="": +**--prev-pipeline-event**="": **--prev-pipeline-finished**="": (default: 0) -**--prev-pipeline-link**="": +**--prev-pipeline-link**="": **--prev-pipeline-number**="": (default: 0) **--prev-pipeline-started**="": (default: 0) -**--prev-pipeline-status**="": +**--prev-pipeline-status**="": **--privileged**="": privileged plugins (default: "plugins/docker", "plugins/gcr", "plugins/ecr", "woodpeckerci/plugin-docker-buildx") **--repo**="": full repo name -**--repo-clone-url**="": +**--repo-clone-url**="": -**--repo-link**="": +**--repo-link**="": -**--repo-private**="": +**--repo-private**="": -**--repo-remote-id**="": +**--repo-remote-id**="": -**--repo-trusted**: +**--repo-trusted**: **--server, -s**="": server address @@ -408,7 +408,7 @@ execute a local pipeline **--system-name**="": (default: woodpecker) -**--system-platform**="": +**--system-platform**="": **--timeout**="": pipeline timeout (default: 0s) diff --git a/docs/versioned_docs/version-1.0/92-development/03-ui.md b/docs/versioned_docs/version-1.0/92-development/03-ui.md index b2a124847..df121e4e1 100644 --- a/docs/versioned_docs/version-1.0/92-development/03-ui.md +++ b/docs/versioned_docs/version-1.0/92-development/03-ui.md @@ -32,7 +32,7 @@ The following list contains some tools and frameworks used by the Woodpecker UI. ## Messages and Translations -Woodpecker uses [Vue I18n](https://vue-i18n.intlify.dev/) as translation library. New translations have to be added to `web/src/assets/locales/en.json`. The English source file will be automatically imported into [Weblate](https://translate.woodpecker-ci.org/) (the translation system used by Woodpecker) where all other languages will be translated by the community based on the English source. +Woodpecker uses [Vue I18n](https://vue-i18n.intlify.dev/) as translation library. New translations have to be added to `web/src/assets/locales/en.json`. The English source file will be automatically imported into [Weblate](https://translate.woodpecker-ci.org/) (the translation system used by Woodpecker) where all other languages will be translated by the community based on the English source. You must not provide translations except English in PRs, otherwise weblate could put git into conflicts (when someone has translated in that language file and changes are not into master branch yet) For more information about translations see [Translations](./07-translations.md). diff --git a/docs/versioned_docs/version-1.0/92-development/09-security.md b/docs/versioned_docs/version-1.0/92-development/09-security.md index e8b2d95f2..86f925c07 100644 --- a/docs/versioned_docs/version-1.0/92-development/09-security.md +++ b/docs/versioned_docs/version-1.0/92-development/09-security.md @@ -1,6 +1,6 @@ # Security -We take security seriously. +We take security seriously. If you discover a security issue, please bring it to their attention right away! ### Reporting a Vulnerability diff --git a/docs/versioned_docs/version-1.0/92-development/ui-proxy.svg b/docs/versioned_docs/version-1.0/92-development/ui-proxy.svg index 6ccb74458..79809ffa1 100644 --- a/docs/versioned_docs/version-1.0/92-development/ui-proxy.svg +++ b/docs/versioned_docs/version-1.0/92-development/ui-proxy.svg @@ -1,6 +1,6 @@ - + - forward requestin dev modeUI Server Port 8010Woodpecker ServerBrowserPort 8000/login/logout/api/.../api/web-config.js/streamEvery other request(404 Handler) \ No newline at end of file + forward requestin dev modeUI Server Port 8010Woodpecker ServerBrowserPort 8000/login/logout/api/.../api/web-config.js/streamEvery other request(404 Handler) diff --git a/pipeline/samples/sample_1/README.md b/pipeline/samples/sample_1/README.md index 02534cdfb..0cf3536c6 100644 --- a/pipeline/samples/sample_1/README.md +++ b/pipeline/samples/sample_1/README.md @@ -1,11 +1,13 @@ +# Example + Compile the yaml to the intermediate representation: -``` +```sh pipec compile ``` Execute the intermediate representation: -``` +```sh pipec exec ``` diff --git a/pipeline/samples/sample_10_windows/README.md b/pipeline/samples/sample_10_windows/README.md index 0564f06ab..7e5e872d8 100644 --- a/pipeline/samples/sample_10_windows/README.md +++ b/pipeline/samples/sample_10_windows/README.md @@ -1,11 +1,13 @@ +# Example + Compile the yaml to the intermediate representation: -``` +```sh pipec compile --system-arch windows/amd64 ``` Execute the intermediate representation: -``` +```sh pipec exec ``` diff --git a/pipeline/samples/sample_8_network_mode/README.md b/pipeline/samples/sample_8_network_mode/README.md index fe8ef97d8..47896db6c 100644 --- a/pipeline/samples/sample_8_network_mode/README.md +++ b/pipeline/samples/sample_8_network_mode/README.md @@ -1,12 +1,14 @@ +# Example + Compile the yaml to the intermediate representation: -``` +```sh pipec compile ``` Execute the intermediate representation: -``` +```sh pipec exec ``` @@ -15,4 +17,4 @@ by other container. This is useful for example to allow the CI to connect with s behind a VPN. Before to start you need to create a container that connects to the VPN (using one of -the openvpn client images like https://github.com/ekristen/docker-openvpn-client). +the openvpn client images like ). diff --git a/web/public/favicons/favicon-dark-error.svg b/web/public/favicons/favicon-dark-error.svg index 334808ae2..8ad3722c6 100644 --- a/web/public/favicons/favicon-dark-error.svg +++ b/web/public/favicons/favicon-dark-error.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/web/public/favicons/favicon-dark-pending.svg b/web/public/favicons/favicon-dark-pending.svg index efa389fa1..d6fb79bec 100644 --- a/web/public/favicons/favicon-dark-pending.svg +++ b/web/public/favicons/favicon-dark-pending.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/web/public/favicons/favicon-dark-success.svg b/web/public/favicons/favicon-dark-success.svg index 92b8b6a1d..a587b985c 100644 --- a/web/public/favicons/favicon-dark-success.svg +++ b/web/public/favicons/favicon-dark-success.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/web/public/favicons/favicon-light-default.svg b/web/public/favicons/favicon-light-default.svg index 1f4eb14f7..43acef117 100644 --- a/web/public/favicons/favicon-light-default.svg +++ b/web/public/favicons/favicon-light-default.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/web/public/favicons/favicon-light-error.svg b/web/public/favicons/favicon-light-error.svg index 6bedff96e..7bd863ccd 100644 --- a/web/public/favicons/favicon-light-error.svg +++ b/web/public/favicons/favicon-light-error.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/web/public/favicons/favicon-light-pending.svg b/web/public/favicons/favicon-light-pending.svg index 5e2b99af6..d7e651d8e 100644 --- a/web/public/favicons/favicon-light-pending.svg +++ b/web/public/favicons/favicon-light-pending.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/web/public/favicons/favicon-light-success.svg b/web/public/favicons/favicon-light-success.svg index e2932a2e0..21adb6192 100644 --- a/web/public/favicons/favicon-light-success.svg +++ b/web/public/favicons/favicon-light-success.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/woodpecker-go/LICENSE b/woodpecker-go/LICENSE index 8ca4ece96..85a3fa9a1 100644 --- a/woodpecker-go/LICENSE +++ b/woodpecker-go/LICENSE @@ -199,4 +199,3 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -