Add linter.

This commit is contained in:
Stephan Schnabel 2021-10-28 11:43:06 +02:00
parent 53e95073d2
commit c30d17a4a0
Signed by: stephan.schnabel
GPG key ID: F74FE2422AA07290
8 changed files with 187 additions and 113 deletions

View file

@ -1,18 +1,32 @@
name: PullRequest name: PullRequest
on: [pull_request] "on": [pull_request]
jobs: jobs:
lint-yaml:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ibiqlik/action-yamllint@v3
with:
format: colored
strict: true
lint-markdown:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://avtodev/markdown-lint:v1
with:
args: /github/workspace
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: checkout - uses: actions/checkout@v2
uses: actions/checkout@v2 - uses: actions/setup-java@v1
- name: setup
uses: actions/setup-java@v1
with: with:
java-version: 11 java-version: 11
- name: dependencies - run: mvn -B dependency:go-offline -q
run: mvn -B -q dependency:go-offline - run: mvn -B verify
- name: verify
run: mvn -B verify

View file

@ -1,22 +1,41 @@
name: Release name: Release
on: "on":
workflow_dispatch: {} workflow_dispatch: {}
jobs: jobs:
build:
lint-yaml:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: checkout - uses: actions/checkout@v2
uses: actions/checkout@v2 - uses: ibiqlik/action-yamllint@v3
with:
format: colored
strict: true
lint-markdown:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://avtodev/markdown-lint:v1
with:
args: /github/workspace
build:
runs-on: ubuntu-latest
needs:
- lint-markdown
- lint-yaml
steps:
- uses: actions/checkout@v2
with: with:
token: ${{ secrets.GIT_ACTION_TOKEN }} token: ${{ secrets.GIT_ACTION_TOKEN }}
- name: git-configure - name: git-configure
run: | run: |
git config user.email "actions@github.com" git config user.email "actions@github.com"
git config user.name "GitHub Actions" git config user.name "GitHub Actions"
- name: setup - uses: actions/setup-java@v1
uses: actions/setup-java@v1
with: with:
java-version: 11 java-version: 11
server-id: sonatype-nexus server-id: sonatype-nexus
@ -24,14 +43,10 @@ jobs:
server-password: SERVER_PASSWORD server-password: SERVER_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE gpg-passphrase: GPG_PASSPHRASE
- name: dependencies - run: mvn -B dependency:go-offline -q
run: mvn -B -q dependency:go-offline - run: mvn -B release:prepare
- name: prepare - run: mvn -B release:perform -DreleaseProfiles=oss-release
run: mvn -B release:prepare
- name: perform
run: mvn -B release:perform
env: env:
SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }} SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

View file

@ -1,28 +1,45 @@
name: Snapshot name: Snapshot
on: "on":
push: push:
branches: branches:
- 'main' - 'main'
- '[1-9]+.[0-9]+.x' - '[1-9]+.[0-9]+.x'
jobs: jobs:
build:
lint-yaml:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: checkout - uses: actions/checkout@v2
uses: actions/checkout@v2 - uses: ibiqlik/action-yamllint@v3
- name: setup with:
uses: actions/setup-java@v1 format: colored
strict: true
lint-markdown:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://avtodev/markdown-lint:v1
with:
args: /github/workspace
build:
runs-on: ubuntu-latest
needs:
- lint-markdown
- lint-yaml
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with: with:
java-version: 11 java-version: 11
server-id: sonatype-nexus server-id: sonatype-nexus
server-username: SERVER_USERNAME server-username: SERVER_USERNAME
server-password: SERVER_PASSWORD server-password: SERVER_PASSWORD
- name: dependencies - run: mvn -B dependency:go-offline -q
run: mvn -B -q dependency:go-offline - run: mvn -B deploy -Poss
- name: deploy
run: mvn -B deploy
env: env:
SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }} SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}

6
.markdownlint.yaml Normal file
View file

@ -0,0 +1,6 @@
# Default state for all rules
default: true
# MD013/line-length - Line length
MD013:
line_length: 10000

10
.yamllint Normal file
View file

@ -0,0 +1,10 @@
extends: default
## see https://yamllint.readthedocs.io/en/stable/rules.html
rules:
# no need for document start
document-start: disable
# line length is not important
line-length: disable

View file

@ -10,6 +10,7 @@
### Set log level based on MDC values ### Set log level based on MDC values
Configuration: Configuration:
* *enabled*: enable MDC filter (`true` is default) * *enabled*: enable MDC filter (`true` is default)
* *key*: MDC key, is optional (will use name instead, see example `user` below) * *key*: MDC key, is optional (will use name instead, see example `user` below)
* *level*: log level to use (`TRACE` is default) * *level*: log level to use (`TRACE` is default)
@ -17,7 +18,8 @@ Configuration:
* *values*: values for matching MDC key, matches all values if empty * *values*: values for matching MDC key, matches all values if empty
Example for setting different values for different values/logger: Example for setting different values for different values/logger:
```
```yaml
logger: logger:
levels: levels:
io.kokuwa: INFO io.kokuwa: INFO
@ -41,7 +43,8 @@ logger:
``` ```
Example for omiting level and key: Example for omiting level and key:
```
```yaml
logger: logger:
levels: levels:
io.kokuwa: INFO io.kokuwa: INFO
@ -55,7 +58,8 @@ logger:
``` ```
Example for minimal configuration: Example for minimal configuration:
```
```yaml
logger: logger:
levels: levels:
io.kokuwa: INFO io.kokuwa: INFO
@ -66,19 +70,22 @@ logger:
### Set log level based on HTTP request header ### Set log level based on HTTP request header
Configuration for server filter (prefixed with *logger.request.filter*): Configuration for server filter (prefixed with *logger.request.filter*):
* *enabled*: enable HTTP server filter (`true` is default) * *enabled*: enable HTTP server filter (`true` is default)
* *order*: order for [Ordered](https://github.com/micronaut-projects/micronaut-core/blob/master/core/src/main/java/io/micronaut/core/order/Ordered.java) (highest is default) * *order*: order for [Ordered](https://github.com/micronaut-projects/micronaut-core/blob/master/core/src/main/java/io/micronaut/core/order/Ordered.java) (highest is default)
* *path*: filter path (`/**` is default) * *path*: filter path (`/**` is default)
* *header*: name of HTTP header (`x-log-level` is default) * *header*: name of HTTP header (`x-log-level` is default)
Configuration for client filter for propagation (prefixed with *logger.request.propagation*): Configuration for client filter for propagation (prefixed with *logger.request.propagation*):
* *enabled*: enable HTTP client filter (`true` is default) * *enabled*: enable HTTP client filter (`true` is default)
* *order*: order for [Ordered](https://github.com/micronaut-projects/micronaut-core/blob/master/core/src/main/java/io/micronaut/core/order/Ordered.java) (tracing is default) * *order*: order for [Ordered](https://github.com/micronaut-projects/micronaut-core/blob/master/core/src/main/java/io/micronaut/core/order/Ordered.java) (tracing is default)
* *path*: filter path (`/**` is default) * *path*: filter path (`/**` is default)
* *header*: name of HTTP header (server header is default) * *header*: name of HTTP header (server header is default)
Example with default configuration: Example with default configuration:
```
```yaml
logger: logger:
request: request:
filter: filter:
@ -96,13 +103,15 @@ logger:
### Add principal for request to MDC ### Add principal for request to MDC
Configuration: Configuration:
* *enabled*: enable HTTP principal filter (`true` is default) * *enabled*: enable HTTP principal filter (`true` is default)
* *order*: order for [Ordered](https://github.com/micronaut-projects/micronaut-core/blob/master/core/src/main/java/io/micronaut/core/order/Ordered.java) ([ServerFilterPhase.SECURITY.after()](https://github.com/micronaut-projects/micronaut-core/blob/v2.0.1/http/src/main/java/io/micronaut/http/filter/ServerFilterPhase.java#L54) is default) * *order*: order for [Ordered](https://github.com/micronaut-projects/micronaut-core/blob/master/core/src/main/java/io/micronaut/core/order/Ordered.java) ([ServerFilterPhase.SECURITY.after()](https://github.com/micronaut-projects/micronaut-core/blob/v2.0.1/http/src/main/java/io/micronaut/http/filter/ServerFilterPhase.java#L54) is default)
* *path*: filter path (`/**` is default) * *path*: filter path (`/**` is default)
* *key*: name of MDC header (`principal` is default) * *key*: name of MDC header (`principal` is default)
Example with default configuration: Example with default configuration:
```
```yaml
logger: logger:
request: request:
principal: principal:
@ -117,20 +126,23 @@ logger:
### Dependency updates ### Dependency updates
Display dependency updates: Display dependency updates:
```
```sh
mvn versions:display-property-updates -U mvn versions:display-property-updates -U
``` ```
Update dependencies: Update dependencies:
```
```sh
mvn versions:update-properties mvn versions:update-properties
``` ```
### Release locally ### Release locally
Run: Run:
```
mvn release:prepare release:perform release:clean -B ```sh
mvn release:prepare release:perform release:clean -B -DreleaseProfiles=oss-release
``` ```
## Open Topics ## Open Topics