diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 000000000..03fc755a9 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,61 @@ +run: + tests: true + timeout: 10m + sort-results: true + allow-parallel-runners: true + concurrency: 4 + skip-dirs: + - tests/e2e + +linters: + disable-all: true + enable: + - dogsled + - exportloopref + - goconst + - gocritic + - gofumpt + - gosec + - gosimple + - govet + - ineffassign + - misspell + - nakedret + - nolintlint + - staticcheck + - revive + - stylecheck + - typecheck + - unconvert + - unused + # - errcheck + +issues: + exclude-rules: + - text: "Use of weak random number generator" + linters: + - gosec + # - text: "ST1003:" + # linters: + # - stylecheck + # - text: "ST1016:" + # linters: + # - stylecheck + # - text: "leading space" + # linters: + # - nolintlint + + max-issues-per-linter: 10000 + max-same-issues: 10000 + +linters-settings: + dogsled: + max-blank-identifiers: 3 + maligned: + # print struct with more effective memory layout or not, false by default + suggest-new: true + nolintlint: + allow-unused: false + allow-leading-space: true + require-explanation: false + require-specific: false \ No newline at end of file diff --git a/.gorelease.yml b/.gorelease.yml new file mode 100644 index 000000000..52e9ab21a --- /dev/null +++ b/.gorelease.yml @@ -0,0 +1,26 @@ +--- +project_name: slinky + +release: + github: + owner: skip-mev + name: slinky + +builds: + - skip: true + +archives: + - format: tar.gz + wrap_in_directory: true + format_overrides: + - goos: windows + format: zip + name_template: "{{ .Binary }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" + files: + - README.md + +snapshot: + name_template: SNAPSHOT-{{ .Commit }} + +changelog: + skip: false \ No newline at end of file diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 000000000..1e828de7d --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,12 @@ +{ + "default": true, + "MD004": { "style": "asterisk" }, + "MD007": { "indent": 4 }, + "MD024": { "siblings_only": true }, + "MD025": false, + "MD033": false, + "MD034": false, + "MD014": false, + "no-hard-tabs": false, + "whitespace": false + } \ No newline at end of file diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 000000000..df10df42a --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,18 @@ +{ + "default": true, + "MD004": { + "style": "asterisk" + }, + "MD007": { + "indent": 4 + }, + "MD013": false, + "MD024": { + "siblings_only": true + }, + "MD025": false, + "MD033": false, + "MD034": false, + "no-hard-tabs": false, + "whitespace": false +} \ No newline at end of file diff --git a/.mergify b/.mergify new file mode 100644 index 000000000..ea6e2a4ed --- /dev/null +++ b/.mergify @@ -0,0 +1,26 @@ +queue_rules: + - name: default + conditions: + - "#approved-reviews-by>1" + +pull_request_rules: + - name: automerge to main with label automerge and branch protection passing + conditions: + - "#approved-reviews-by>1" + - base=main + - label=A:automerge + actions: + queue: + name: default + method: squash + commit_message_template: | + {{ title }} (#{{ number }}) + {{ body }} + - name: backport patches to v1.x.x branch + conditions: + - base=main + - label=backport/v1.x.x + actions: + backport: + branches: + - release/v1.x.x \ No newline at end of file