ci: add sonar and jreleaser config
All checks were successful
SonarQube Scan / SonarQube Trigger (push) Successful in 1m43s

This commit is contained in:
Oliver Weyhmüller 2025-01-10 03:03:02 +01:00
parent a651988dd4
commit fb54f6a47b
Signed by: oliver
GPG key ID: 5286794099F934A3
3 changed files with 220 additions and 0 deletions

View file

@ -0,0 +1,30 @@
---
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
name: SonarQube Scan
jobs:
sonarqube:
name: "SonarQube Trigger"
runs-on: ubuntu-latest
steps:
- name: "Initialize Environment"
uses: https://w9r.dev/w9r.dev/action-setup-environment@v1.1.4
with:
roleid: "${{ secrets.VAULT_ROLE_ID }}"
secretid: "${{ secrets.VAULT_SECRET_ID }}"
- name: "Cache SonarQube packages"
uses: https://github.com/actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
with:
path: ~/.sonar/cache
key: "${{ runner.os }}-sonar"
restore-keys: "${{ runner.os }}-sonar"
- name: "SonarQube Scan"
run: "mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar"

184
jreleaser.yml Normal file
View file

@ -0,0 +1,184 @@
---
project:
versionPattern: SEMVER
snapshot:
pattern: .*-SNAPSHOT
label: early-access
fullChangelog: true
description: Cloud Config Server
longDescription: |
Spring Boot based Cloudconfig Server to provide config to other services
authors:
- Oliver Weyhmüller
tags:
- java
maintainers:
- 'oliver'
stereotype: NONE
license: MIT
inceptionYear: 2025
links:
homepage: https://w9r.dev/services/cloudconfig
documentation: https://w9r.dev/services/cloudconfig/src/branch/main/README.md
license: https://spdx.org/licenses/MIT.html
vcsBrowser: https://w9r.dev/services/cloudconfig
languages:
java:
groupId: dev.w9r.service
artifactId: config
version: "21"
signing:
active: ALWAYS
armored: true
verify: true
mode: MEMORY
files: true
artifacts: true
checksums: true
assemble:
archive:
pom:
active: ALWAYS
exported: true
stereotype: NONE
platform:
replacements:
osx-x86_64: mac
aarch_64: aarch64
x86_64: amd64
linux_musl: alpine
archiveName: '{{projectName}}-{{projectVersion}}'
distributionType: JAVA_BINARY
formats:
- ZIP
- TAR_GZ
fileSets:
- input: . # A set of files and directory to include.
includes:
- 'LICENSE'
- 'README.md'
- 'CHANGELOG.md'
- 'target/config-*.jar'
catalog:
sbom:
syft:
active: ALWAYS
distributions: true
files: true
pack:
enabled: false
name: '{{projectName}}-{{projectVersion}}-sboms'
formats:
- SPDX_JSON
- CYCLONEDX_JSON
- SYFT_JSON
- GITHUB_JSON
- TABLE
- TEXT
release:
gitea:
enabled: true
connectTimeout: 20
readTimeout: 60
owner: services
name: cloudconfig
host: w9r.dev
username: releasebot
apiEndpoint: https://w9r.dev
tagName: "{{projectVersion}}"
overwrite: true
update:
enabled: false
sections:
- ASSETS
skipTag: false
skipRelease: false
sign: true
branch: main
uploadAssets: ALWAYS
files: true
artifacts: true
checksums: true
signatures: true
catalogs: true
draft: false
prerelease:
enabled: false
pattern: .*-SNAPSHOT
commitAuthor:
name: ReleaseBot
email: releasebot@w9r.dev
milestone:
close: true
name: '{{tagName}}'
issues:
enabled: true
comment: '🎉 This issue has been resolved in `{{tagName}}` ([Release Notes]({{releaseNotesUrl}}))'
applyMilestone: ALWAYS
label:
name: released
color: '#FF0000'
description: Issue has been released
issueTrackerUrl: https://w9r.dev/services/cloudconfig/issues
changelog:
enabled: true
sort: DESC
links: true
skipMergeCommits: false
formatted: ALWAYS
preset: 'conventional-commits'
categoryTitleFormat: '### {{categoryTitle}}'
contributorsTitleFormat: '### Contributors'
content: |
{{changelogChanges}}
{{changelogContributors}}
append:
enabled: true
title: '## [{{tagName}}]'
target: 'CHANGELOG.md'
content: |
{{changelogTitle}}
{{changelogChanges}}
contributors:
enabled: false
format: '- {{contributorName}} ({{contributorUsernameAsLink}})'
hide:
uncategorized: false
contributors:
- 'ReleaseBot'
- 'RenovateBot'
labelers:
- label: 'issue'
title: 'regex:fix:'
body: 'Fixes: '
order: 1
replacers:
- search: '\[chore\]\s'
replace: ''
- search: '/CVE-(\d{4})-(\d+)/g'
replace: 'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2'
distributions:
pom:
artifacts:
- path: target/config*.jar
deploy:
maven:
artifactory:
pom:
active: ALWAYS
url: https://nexus.w9r.dev/repository/maven-releases
snapshotSupported: true
authorization: Basic
sign: false
checksums: true
sourceJar: false
javadocJar: false
verifyPom: true
applyMavenCentralRules: false
stagingRepositories:
- target/staging-deploy

6
renovate.json Normal file
View file

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>w9r.dev/renovate-config"
]
}