mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-01-02 05:38:43 +00:00
Use pre-commit
(#2650)
This commit is contained in:
parent
4dbde3c409
commit
bd46c01a3e
4 changed files with 206 additions and 12 deletions
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
|
## Maintainers
|
||||||
|
|
||||||
To make sure every Pull Request (PR) is checked, we have **team 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.
|
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 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.
|
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.
|
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.
|
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.
|
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.
|
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/securing-your-account-with-two-factor-authentication-2fa/>
|
||||||
https://help.github.com/articles/signing-commits-with-gpg/
|
<https://help.github.com/articles/signing-commits-with-gpg/>
|
||||||
|
|
||||||
## Owners
|
## Owners
|
||||||
|
|
||||||
Since Woodpecker is a pure community organization without any company support,
|
Since Woodpecker is a pure community organization without any company support, to keep the development healthy we will elect two owners every year.\
|
||||||
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.\
|
||||||
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.
|
||||||
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.
|
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))
|
([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
|
To honor the past owners, here's the history of the owners and the time
|
||||||
they served:
|
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)
|
- [6543](https://github.com/6543)
|
||||||
- [Anbraten](https://github.com/anbraten)
|
- [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)
|
- [6543](https://github.com/6543)
|
||||||
- [Anbraten](https://github.com/anbraten)
|
- [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,
|
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.
|
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.
|
||||||
|
|
Loading…
Reference in a new issue