Skip to content

Commit ec0df98

Browse files
Roman KvasnytskyiPeriecle
authored andcommitted
feat: Update to Jackson 3, update all deps, add RX3.
1 parent f6006bf commit ec0df98

32 files changed

Lines changed: 1113 additions & 3448 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is and stack trace.
12+
13+
**Expected behavior**
14+
A clear and concise description of what you expected to happen.
15+
16+
**Environment (please complete the following information):**
17+
- OS name : [e.g. macOS]
18+
- Docker Version: [e.g. 20.10.24]
19+
20+
**Module (please complete the following information):**
21+
- Module Name [e.g. json-rx2]
22+
- Module Version [e.g. 1.0.0]
23+
24+
**Additional context**
25+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: feature
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/labeler.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"documentation":
2+
- changed-files:
3+
- any-glob-to-any-file: '**/*.md'

.github/pull_request_template.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Motivation:
2+
3+
Explain here the context, and why you're making that change.
4+
What is the problem you're trying to solve.
5+
6+
Modification:
7+
8+
Describe the modifications you've done.
9+
10+
Result:
11+
12+
Fixes #<GitHub issue number>.
13+
14+
If there is no issue then describe the changes introduced by this PR.

.github/release-drafter.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name-template: $NEXT_PATCH_VERSION
2+
tag-template: $NEXT_PATCH_VERSION
3+
4+
template: |
5+
# Changes
6+
$CHANGES
7+
8+
# --------
9+
# NOTE: When adding new labels please also update required-labels.yml workflow.
10+
# --------
11+
categories:
12+
- title: 💣️ Breaking changes
13+
label: breaking-change
14+
15+
- title: 🚀 Features & Enhancements
16+
labels:
17+
- feature
18+
- enhancement
19+
20+
- title: 🐞 Fixes
21+
label: bug
22+
23+
- title: 📁 Dependencies updates
24+
label: dependencies
25+
26+
- title: 📖 Documentation
27+
label: documentation
28+
29+
- title: 🏡 Housekeeping
30+
label: housekeeping
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Changelog Release Drafter
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
- master
8+
9+
jobs:
10+
update_release_draft:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: write
14+
pull-requests: read
15+
steps:
16+
- uses: release-drafter/release-drafter@v7
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: "Trivy"
2+
3+
on:
4+
schedule:
5+
- cron: '24 10 * * 5'
6+
7+
jobs:
8+
build:
9+
name: Trivy vulnerability scanner
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: read
13+
security-events: write
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v6
17+
18+
- name: Run Trivy vulnerability scanner in repo mode
19+
uses: aquasecurity/trivy-action@master
20+
with:
21+
scan-type: 'fs'
22+
ignore-unfixed: true
23+
format: 'sarif'
24+
output: 'trivy-results.sarif'
25+
severity: 'CRITICAL'
26+
timeout: 10m
27+
28+
- name: Upload Trivy scan results to GitHub Security tab
29+
uses: github/codeql-action/upload-sarif@v4
30+
with:
31+
sarif_file: 'trivy-results.sarif'

.github/workflows/labeler.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: "Pull Request Auto Labeler"
2+
on:
3+
- pull_request_target
4+
5+
jobs:
6+
triage:
7+
permissions:
8+
contents: read
9+
pull-requests: write
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/labeler@v6
13+
with:
14+
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/maven.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# This workflow will build a Java project with Maven
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3+
4+
name: Java CI with Maven
5+
6+
on:
7+
push:
8+
branches:
9+
- develop
10+
- master
11+
pull_request:
12+
branches:
13+
- develop
14+
- master
15+
16+
jobs:
17+
build-jdk17:
18+
runs-on: ubuntu-latest
19+
name: Build project
20+
concurrency:
21+
group: ${{ github.event_name == 'pull_request' && github.head_ref || github.sha}}
22+
cancel-in-progress: true
23+
steps:
24+
- name: Checkout repository
25+
uses: actions/checkout@v6
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Cache Maven packages
30+
uses: actions/cache@v5
31+
with:
32+
path: ~/.m2
33+
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
34+
restore-keys: ${{ runner.os }}-m2
35+
36+
- name: Set up JDK
37+
uses: actions/setup-java@v5
38+
with:
39+
distribution: 'corretto'
40+
java-version: '17'
41+
42+
- name: Check for SNAPSHOT dependencies in dependency management
43+
run: |
44+
mvn help:effective-pom --batch-mode --no-transfer-progress -q -Doutput=effective-pom.xml
45+
# Strip default namespace so XPath queries don't need a prefix.
46+
sed -i 's/xmlns="[^"]*"//g' effective-pom.xml
47+
SNAPSHOTS=$(xmllint --xpath \
48+
"//dependencyManagement//dependency[contains(version,'SNAPSHOT')] | //dependencies/dependency[contains(version,'SNAPSHOT')]" \
49+
effective-pom.xml 2>/dev/null || true)
50+
rm -f effective-pom.xml
51+
if [ -n "$SNAPSHOTS" ]; then
52+
echo "::error::SNAPSHOT versions found in effective POM dependencies:"
53+
echo "$SNAPSHOTS"
54+
exit 1
55+
fi
56+
57+
- name: Build with Maven
58+
run: |
59+
mvn clean verify \
60+
-Dhttp.keepAlive=false \
61+
-Dmaven.wagon.http.pool=false \
62+
-Dmaven.wagon.http.retryHandler.count=3 \
63+
--no-snapshot-updates \
64+
--batch-mode \
65+
--no-transfer-progress
66+
67+
- name: Upload coverage to Codecov
68+
uses: codecov/codecov-action@v5
69+
env:
70+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/release.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Publish to the Maven Central Repository
2+
3+
on:
4+
release:
5+
types: [ published ]
6+
workflow_dispatch:
7+
inputs:
8+
dryRun:
9+
description: "Dry-Run (skip deploy and push-back)"
10+
default: false
11+
required: false
12+
type: boolean
13+
logLevel:
14+
description: "Log-Level"
15+
required: false
16+
default: 'info'
17+
type: choice
18+
options:
19+
- info
20+
- warn
21+
- debug
22+
- error
23+
24+
jobs:
25+
publish:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Generate GitHub App Token
29+
id: app-token
30+
uses: actions/create-github-app-token@v1
31+
with:
32+
app-id: ${{ secrets.AUTOMATION_APP_ID }}
33+
private-key: ${{ secrets.AUTOMATION_APP_PRIVATE_KEY }}
34+
35+
- name: Checkout
36+
uses: actions/checkout@v6
37+
with:
38+
ref: ${{ github.event.release.target_commitish }}
39+
token: ${{ steps.app-token.outputs.token }}
40+
41+
- name: Set up JDK
42+
uses: actions/setup-java@v5
43+
with:
44+
distribution: 'corretto'
45+
java-version: '17'
46+
server-id: central
47+
server-username: MAVEN_USERNAME
48+
server-password: MAVEN_PASSWORD
49+
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
50+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
51+
cache: 'maven'
52+
53+
- name: Update version
54+
if: ${{ success() && github.event_name == 'release' }}
55+
run: mvn --batch-mode --no-transfer-progress versions:set -DnewVersion=${{ github.event.release.tag_name }} versions:commit
56+
57+
- name: Publish to the Maven Central Repository
58+
if: ${{ success() && (github.event_name != 'workflow_dispatch' || inputs.dryRun != true) }}
59+
run: |
60+
mvn --batch-mode --no-transfer-progress \
61+
-P central -DskipTests \
62+
-Dorg.slf4j.simpleLogger.defaultLogLevel=${{ inputs.logLevel || 'info' }} \
63+
deploy
64+
env:
65+
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
66+
MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
67+
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
68+
69+
- name: Commit & Push changes
70+
if: ${{ success() && github.event_name == 'release' }}
71+
uses: actions-js/push@5a7cbd780d82c0c937b5977586e641b2fd94acc5 # v1.5
72+
with:
73+
github_token: ${{ steps.app-token.outputs.token }}
74+
message: 'Release ${{ github.event.release.tag_name }}'
75+
branch: ${{ github.event.release.target_commitish }}

0 commit comments

Comments
 (0)