You've already forked woodpecker
							
							
				mirror of
				https://github.com/woodpecker-ci/woodpecker.git
				synced 2025-10-30 23:27:39 +02:00 
			
		
		
		
	Use pre-commit (#2650)
				
					
				
			This commit is contained in:
		
							
								
								
									
										2
									
								
								.hadolint.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.hadolint.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| ignored: | ||||
|   - DL3018 # pin versions in Dockerfile | ||||
							
								
								
									
										143
									
								
								.markdownlint.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								.markdownlint.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,143 @@ | ||||
| # markdownlint YAML configuration | ||||
| # https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml | ||||
|  | ||||
| # Default state for all rules | ||||
| default: true | ||||
|  | ||||
| # Path to configuration file to extend | ||||
| extends: null | ||||
|  | ||||
| # MD003/heading-style/header-style - Heading style | ||||
| MD003: | ||||
|   # Heading style | ||||
|   style: "atx" | ||||
|  | ||||
| # MD004/ul-style - Unordered list style | ||||
| MD004: | ||||
|   style: "dash" | ||||
|  | ||||
| # MD007/ul-indent - Unordered list indentation | ||||
| MD007: | ||||
|   # Spaces for indent | ||||
|   indent: 2 | ||||
|   # Whether to indent the first level of the list | ||||
|   start_indented: false | ||||
|  | ||||
| # MD009/no-trailing-spaces - Trailing spaces | ||||
| MD009: | ||||
|   # Spaces for line break | ||||
|   br_spaces: 2 | ||||
|   # Allow spaces for empty lines in list items | ||||
|   list_item_empty_lines: false | ||||
|   # Include unnecessary breaks | ||||
|   strict: false | ||||
|  | ||||
| # MD010/no-hard-tabs - Hard tabs | ||||
| MD010: | ||||
|   # Include code blocks | ||||
|   code_blocks: true | ||||
|  | ||||
| # MD012/no-multiple-blanks - Multiple consecutive blank lines | ||||
| MD012: | ||||
|   # Consecutive blank lines | ||||
|   maximum: 1 | ||||
|  | ||||
| # MD013/line-length - Line length | ||||
| MD013: | ||||
|   # Number of characters | ||||
|   line_length: 500 | ||||
|   # Number of characters for headings | ||||
|   heading_line_length: 100 | ||||
|   # Number of characters for code blocks | ||||
|   code_block_line_length: 80 | ||||
|   # Include code blocks | ||||
|   code_blocks: false | ||||
|   # Include tables | ||||
|   tables: false | ||||
|   # Include headings | ||||
|   headings: true | ||||
|   # Include headings | ||||
|   headers: true | ||||
|   # Strict length checking | ||||
|   strict: false | ||||
|   # Stern length checking | ||||
|   stern: false | ||||
|  | ||||
| # MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines | ||||
| MD022: | ||||
|   # Blank lines above heading | ||||
|   lines_above: 1 | ||||
|   # Blank lines below heading | ||||
|   lines_below: 1 | ||||
|  | ||||
| # MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content | ||||
| MD024: | ||||
|   # Only check sibling headings | ||||
|   allow_different_nesting: true | ||||
|  | ||||
| # MD025/single-title/single-h1 - Multiple top-level headings in the same document | ||||
| MD025: | ||||
|   # Heading level | ||||
|   level: 1 | ||||
|   # RegExp for matching title in front matter | ||||
|   front_matter_title: "^\\s*title\\s*[:=]" | ||||
|  | ||||
| # MD026/no-trailing-punctuation - Trailing punctuation in heading | ||||
| MD026: | ||||
|   # Punctuation characters | ||||
|   punctuation: ".,;:!。,;:!" | ||||
|  | ||||
| # MD029/ol-prefix - Ordered list item prefix | ||||
| MD029: | ||||
|   # List style | ||||
|   style: "one_or_ordered" | ||||
|  | ||||
| # MD030/list-marker-space - Spaces after list markers | ||||
| MD030: | ||||
|   # Spaces for single-line unordered list items | ||||
|   ul_single: 1 | ||||
|   # Spaces for single-line ordered list items | ||||
|   ol_single: 1 | ||||
|   # Spaces for multi-line unordered list items | ||||
|   ul_multi: 1 | ||||
|   # Spaces for multi-line ordered list items | ||||
|   ol_multi: 1 | ||||
|  | ||||
| # MD033/no-inline-html - Inline HTML | ||||
| MD033: | ||||
|   # Allowed elements | ||||
|   allowed_elements: [details, summary, img, a, br, p] | ||||
|  | ||||
| # MD035/hr-style - Horizontal rule style | ||||
| MD035: | ||||
|   # Horizontal rule style | ||||
|   style: "---" | ||||
|  | ||||
| # MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading | ||||
| MD036: | ||||
|   # Punctuation characters | ||||
|   punctuation: ".,;:!?。,;:!?" | ||||
|  | ||||
| # MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading | ||||
| MD041: | ||||
|   # Heading level | ||||
|   level: 1 | ||||
|   # RegExp for matching title in front matter | ||||
|   front_matter_title: "^\\s*title\\s*[:=]" | ||||
|  | ||||
| # MD044/proper-names - Proper names should have the correct capitalization | ||||
| MD044: | ||||
|   # List of proper names | ||||
|   # names: | ||||
|   # Include code blocks | ||||
|   code_blocks: false | ||||
|  | ||||
| # MD046/code-block-style - Code block style | ||||
| MD046: | ||||
|   # Block style | ||||
|   style: "fenced" | ||||
|  | ||||
| # MD048/code-fence-style - Code fence style | ||||
| MD048: | ||||
|   # Code fence syle | ||||
|   style: "backtick" | ||||
							
								
								
									
										40
									
								
								.pre-commit-config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								.pre-commit-config.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| repos: | ||||
|   - repo: meta | ||||
|     hooks: | ||||
|       - id: check-hooks-apply | ||||
|       - id: check-useless-excludes | ||||
|   - repo: https://github.com/pre-commit/pre-commit-hooks | ||||
|     rev: v2.3.0 | ||||
|     hooks: | ||||
|       - id: check-yaml | ||||
|         exclude: 'pipeline/schema/.woodpecker/test-merge-map-and-sequence.yml' | ||||
|       - id: end-of-file-fixer | ||||
|       - id: trailing-whitespace | ||||
|   - repo: https://github.com/golangci/golangci-lint | ||||
|     rev: v1.55.1 | ||||
|     hooks: | ||||
|       - id: golangci-lint | ||||
|   - repo: https://github.com/igorshubovych/markdownlint-cli | ||||
|     rev: v0.37.0 | ||||
|     hooks: | ||||
|       - id: markdownlint | ||||
|   - repo: https://github.com/mrtazz/checkmake | ||||
|     rev: 0.2.2 | ||||
|     hooks: | ||||
|       - id: checkmake | ||||
|   - repo: https://github.com/hadolint/hadolint | ||||
|     rev: v2.12.0 | ||||
|     hooks: | ||||
|       - id: hadolint | ||||
|  | ||||
| ci: | ||||
|   autofix_commit_msg: | | ||||
|     [pre-commit.ci] auto fixes from pre-commit.com hooks [CI SKIP] | ||||
|  | ||||
|     for more information, see https://pre-commit.ci | ||||
|   autofix_prs: true | ||||
|   autoupdate_branch: '' | ||||
|   autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate' | ||||
|   autoupdate_schedule: monthly | ||||
|   skip: [check-hooks-apply, check-useless-excludes] | ||||
|   submodules: false | ||||
| @@ -2,8 +2,8 @@ | ||||
|  | ||||
| ## Maintainers | ||||
|  | ||||
| To make sure every Pull Request (PR) is checked, we have **team maintainers**.   | ||||
| Every PR **MUST** be reviewed by at least **one** maintainer (or owner) before it can get merged.   | ||||
| To make sure every Pull Request (PR) is checked, we have **team maintainers**.\ | ||||
| Every PR **MUST** be reviewed by at least **one** maintainer (or owner) before it can get merged.\ | ||||
| A maintainer should be a contributor and contributed at least 4 accepted PRs. | ||||
| A contributor should apply as a maintainer in the [Discord #develop](https://discord.gg/fcMQqSMXJy) or [Matrix Develop](https://matrix.to/#/#WoodpeckerCI-Develop:obermui.de) channel. | ||||
| The owners or the team maintainers may invite the contributor. | ||||
| @@ -14,30 +14,29 @@ team](https://github.com/orgs/woodpecker-ci/teams/advisors/members). | ||||
| Of course, if an advisor has time to code review, we will gladly welcome them back to the maintainers team. | ||||
| If a maintainer is inactive for more than 3 months and forgets to leave the maintainers team, the owners may move him or her from the maintainers team to the advisors team. | ||||
|  | ||||
| For security reasons, Maintainers must use 2FA for their accounts and if possible provide GPG signed commits.   | ||||
| https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/ | ||||
| https://help.github.com/articles/signing-commits-with-gpg/ | ||||
| For security reasons, Maintainers must use 2FA for their accounts and if possible provide GPG signed commits.\ | ||||
| <https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/> | ||||
| <https://help.github.com/articles/signing-commits-with-gpg/> | ||||
|  | ||||
| ## Owners | ||||
|  | ||||
| Since Woodpecker is a pure community organization without any company support, | ||||
| to keep the development healthy we will elect two owners every year.   | ||||
| This can also happen when a owner propose a vote or the majority of the maintainers do so.   | ||||
| All maintainers may vote to elect up to two candidates. When the new owners have been elected, the old owners will give up ownership to the newly elected owners.   | ||||
| Since Woodpecker is a pure community organization without any company support, to keep the development healthy we will elect two owners every year.\ | ||||
| This can also happen when a owner propose a vote or the majority of the maintainers do so.\ | ||||
| All maintainers may vote to elect up to two candidates. When the new owners have been elected, the old owners will give up ownership to the newly elected owners. | ||||
| If an owner is unable to do so, the other owners will assist in ceding ownership to the newly elected owners. | ||||
|  | ||||
| For security reasons, Owners must use 2FA.   | ||||
| For security reasons, Owners must use 2FA.\ | ||||
| ([Docs: Securing your account with two-factor authentication](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa)) | ||||
|  | ||||
| To honor the past owners, here's the history of the owners and the time | ||||
| they served: | ||||
|  | ||||
| - 2023-01-01 ~ 2023-12-31 - https://github.com/woodpecker-ci/woodpecker/issues/1467 | ||||
| - 2023-01-01 ~ 2023-12-31 - <https://github.com/woodpecker-ci/woodpecker/issues/1467> | ||||
|  | ||||
|   - [6543](https://github.com/6543) | ||||
|   - [Anbraten](https://github.com/anbraten) | ||||
|  | ||||
| - 2021-09-28 ~ 2022-12-31 - https://github.com/woodpecker-ci/woodpecker/issues/633 | ||||
| - 2021-09-28 ~ 2022-12-31 - <https://github.com/woodpecker-ci/woodpecker/issues/633> | ||||
|  | ||||
|   - [6543](https://github.com/6543) | ||||
|   - [Anbraten](https://github.com/anbraten) | ||||
| @@ -61,3 +60,13 @@ modifications). It is the maintainer team's responsibility from this point to ge | ||||
|  | ||||
| We use [Semantic Versioning](https://semver.org/) to be able, | ||||
| to communicate when admins have to do manual migration steps and when they can just bump versions up. | ||||
|  | ||||
| ## Development | ||||
|  | ||||
| [pre-commit](https://pre-commit.com/) is used in this repository. | ||||
| To apply it during local development, first | ||||
|  | ||||
| 1. Install `pre-commit` via your favorite option | ||||
| 1. Enable it via `pre-commit install` in the repository root. | ||||
| 1. (Run it manually via `pre-commit run --all-files` in the repository root.) | ||||
| 1. Now `pre-commit` will exec on all modified files before every commit. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user