Skip to content

Commit

Permalink
add precommit and linters (#103)
Browse files Browse the repository at this point in the history
  • Loading branch information
pat-s committed Nov 16, 2023
1 parent 11e8804 commit 94aaafe
Show file tree
Hide file tree
Showing 11 changed files with 307 additions and 73 deletions.
38 changes: 38 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
linters-settings:
gofmt:
simplify: true
misspell:
locale: US
gofumpt:
extra-rules: true
forbidigo:
forbid:
- context\.WithCancel$
- ^print.*$
- panic
errorlint:
errorf-multi: true

linters:
disable-all: true
enable:
- bidichk
- errcheck
- gofmt
- goimports
- gosimple
- govet
- ineffassign
- misspell
- revive
- staticcheck
- typecheck
- unused
- whitespace
- gofumpt
- errorlint
- forbidigo
- zerologlint

run:
timeout: 5m
2 changes: 2 additions & 0 deletions .hadolint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ignored:
- DL3018 # pin versions in Dockerfile
143 changes: 143 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 40 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -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: v4.5.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/golangci/golangci-lint
rev: v1.55.2
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.1-beta
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
# NB: hadolint not included in pre-commit.ci
skip: [check-hooks-apply, check-useless-excludes, hadolint]
submodules: false
8 changes: 8 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"semi": true,
"trailingComma": "all",
"singleQuote": true,
"printWidth": 120,
"tabWidth": 2,
"endOfLine": "lf"
}
96 changes: 48 additions & 48 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,84 +105,84 @@

## [v2.0.3](https://github.com/woodpecker-ci/plugin-git/releases/tag/v2.0.3) - 2022-12-29

* BUGFIXES
* Fix write .netrc location with home var (#57)
- BUGFIXES
- Fix write .netrc location with home var (#57)

## [v2.0.1](https://github.com/woodpecker-ci/plugin-git/releases/tag/v2.0.1) - 2022-12-21

* BUGFIXES
* Fix dockerfile to build correct go binary (#54)
* Do not set GIT_TERMINAL_PROMPT=0 for git (#52)
- BUGFIXES
- Fix dockerfile to build correct go binary (#54)
- Do not set GIT_TERMINAL_PROMPT=0 for git (#52)

## [v2.0.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v2.0.0) - 2022-11-14

* FEATURES
* Partial clone by default (#48)
* BUGFIXES
* Make home var settable (#47)
* ENHANCEMENTS
* Publish semver images (#50)
- FEATURES
- Partial clone by default (#48)
- BUGFIXES
- Make home var settable (#47)
- ENHANCEMENTS
- Publish semver images (#50)

## [v1.6.1](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.6.1) - 2022-11-06

* BUGFIXES
* Explicite set and check for home dir (#46)
- BUGFIXES
- Explicite set and check for home dir (#46)

## [v1.6.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.6.0) - 2022-10-13

* BUGFIXES
* Handle git-lfs separately (#40)
* ENHANCEMENTS
* if no branch info is set, fallback to default repo branch (#41)
- BUGFIXES
- Handle git-lfs separately (#40)
- ENHANCEMENTS
- if no branch info is set, fallback to default repo branch (#41)

## [v1.5.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.5.0) - 2022-10-06

* ENHANCEMENTS
* Release binarys (#37)
* Use ref to checkout if no commit sha is set (#36)
* Fix tests (#35)
* MISC
* Update urfave/cli to v2.17.1 (#38)
* Use built-in log instead of logrus (#34)
- ENHANCEMENTS
- Release binarys (#37)
- Use ref to checkout if no commit sha is set (#36)
- Fix tests (#35)
- MISC
- Update urfave/cli to v2.17.1 (#38)
- Use built-in log instead of logrus (#34)

## [v1.4.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.4.0) - 2022-08-30

* ENHANCEMENTS
* Auto enable tags clone if it's ci event is 'tag' (#30)
* Support more architectures (#29)
- ENHANCEMENTS
- Auto enable tags clone if it's ci event is 'tag' (#30)
- Support more architectures (#29)

## [v1.3.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.3.0) - 2022-08-15

* FEATURES
* Add option to Change branch name for checkout (#28)
- FEATURES
- Add option to Change branch name for checkout (#28)

## [v1.2.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.2.0) - 2022-05-25

* FEATURES
* Add git-lfs (#21)
* Custom ssl certs for git (#19)
* ENHANCEMENTS
* Add an `lfs` setting which lets you disable Git LFS (#24)
* DOCUMENTATION
* Add docs page (#23)
- FEATURES
- Add git-lfs (#21)
- Custom ssl certs for git (#19)
- ENHANCEMENTS
- Add an `lfs` setting which lets you disable Git LFS (#24)
- DOCUMENTATION
- Add docs page (#23)

## [v1.1.2](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.1.2) - 2022-01-30

* BUGFIXES
* Fix empty login/password in netrc (#20)
- BUGFIXES
- Fix empty login/password in netrc (#20)

## [v1.1.1](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.1.1) - 2021-12-23

* BUGFIXES
* Fix version info (#13)
- BUGFIXES
- Fix version info (#13)

## [v1.1.0](https://github.com/woodpecker-ci/plugin-git/releases/tag/v1.1.0) - 2021-12-18

* FEATURES
* Add ppc64le support (#8)
* BUGFIXES
* Regognize "CI_*" EnvVars (#6)
* ENHANCEMENTS
* Multiarch build (#8)
* MISC
* Upgrade urfave/cli to v2 (#5)
- FEATURES
- Add ppc64le support (#8)
- BUGFIXES
- Regognize "CI\_*" EnvVars (#6)
- ENHANCEMENTS
- Multiarch build (#8)
- MISC
- Upgrade urfave/cli to v2 (#5)
1 change: 0 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -199,4 +199,3 @@
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.

2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ endif

LDFLAGS := -s -w -extldflags "-static" -X main.version=${BUILD_VERSION}

.PHONY: all
all: build

.PHONY: vendor
Expand All @@ -41,6 +42,7 @@ vet:
@echo "Running go vet..."
CGO_ENABLED=0 go vet $(GO_PACKAGES)

.PHONY: test
test:
CGO_ENABLED=0 go test -cover ./...
# we can not use "-race" as test trigger write to os.stdout
Expand Down
Loading

0 comments on commit 94aaafe

Please sign in to comment.