diff --git a/.woodpecker/dockerhub.yaml b/.woodpecker/dockerhub.yaml new file mode 100644 index 0000000..a443560 --- /dev/null +++ b/.woodpecker/dockerhub.yaml @@ -0,0 +1,17 @@ +when: + instance: ci.kokuwa.io + repo: keycloak/keycloak-event-metrics + event: [manual, push] + branch: main + path: [.woodpecker/dockerhub.yaml, README.md] + +steps: + + metadata: + image: kokuwaio/dockerhub-metadata + settings: + repository: kokuwaio/keycloak-event-metrics + description-short: Provides metrics for Keycloak user/admin events and user/client/session count. + categories: monitoring-and-observability + username: {from_secret: dockerhub_username} + password: {from_secret: dockerhub_password} diff --git a/.woodpecker/lint.yaml b/.woodpecker/lint.yaml new file mode 100644 index 0000000..7de51db --- /dev/null +++ b/.woodpecker/lint.yaml @@ -0,0 +1,26 @@ +when: + event: [manual, pull_request, push] + branch: main + path: [.woodpecker/lint.yaml, renovate.json, Dockerfile, "**/*.y*ml", "**/*.md"] + +steps: + + renovate: + image: kokuwaio/renovate-config-validator + depends_on: [] + when: [path: [.woodpecker/lint.yaml, renovate.json]] + + yaml: + image: kokuwaio/yamllint + depends_on: [] + when: [path: [.woodpecker/lint.yaml, .yamllint.yaml, "**/*.y*ml"]] + + markdown: + image: kokuwaio/markdownlint + depends_on: [] + when: [path: [.woodpecker/lint.yaml, .markdownlint.yaml, "**/*.md"]] + + dockerfile: + image: kokuwaio/hadolint + depends_on: [] + when: [path: [.woodpecker/lint.yaml, Dockerfile]] diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml index f4d8a94..9e41181 100644 --- a/.woodpecker/release.yaml +++ b/.woodpecker/release.yaml @@ -6,6 +6,27 @@ when: steps: + maven: + image: maven:3.9.10-eclipse-temurin-17 + commands: + # setup git + - git config user.email "$GIT_USER_EMAIL" + - git config user.name "$GIT_USER_NAME" + - git config gpg.format ssh + - git config user.signingkey /run/secrets/sign.key + - echo $GIT_SIGN_KEY > /run/secrets/sign.key + # release & write version to env file for image + - mvn release:prepare release:perform + - echo "VERSION=$(grep "scm.tag=" release.properties | cut -d= -f2)" > maven.env + environment: + MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.woodpecker/maven/settings.xml + MAVEN_GPG_KEY: {from_secret: woodpecker_gpg_key} + GIT_SIGN_KEY: {from_secret: woodpecker_sign_key} + FORGEJO_USERNAME: {from_secret: woodpecker_username} + FORGEJO_PASSWORD: {from_secret: woodpecker_password} + SONATYPE_ORG_USERNAME: {from_secret: sonatype_org_username} + SONATYPE_ORG_PASSWORD: {from_secret: sonatype_org_password} + image: image: kokuwaio/buildctl settings: diff --git a/.woodpecker/verify.yaml b/.woodpecker/verify.yaml new file mode 100644 index 0000000..5d9002b --- /dev/null +++ b/.woodpecker/verify.yaml @@ -0,0 +1,24 @@ +when: + event: [manual, pull_request] + path: [.woodpecker/verify.yaml, pom.xml, src/**] + +services: + - name: dockerd + image: kokuwaio/dockerd + privileged: true + ports: [2375, 8080] + +steps: + + test: + image: maven:3.9.10-eclipse-temurin-17 + commands: mvn verify -P-deploy + environment: + MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.woodpecker/maven/settings.xml + + image: + image: kokuwaio/buildctl + settings: + platform: [linux/amd64, linux/arm64] + when: + instance: ci.kokuwa.io diff --git a/.woodpecker/versions.yaml b/.woodpecker/versions.yaml new file mode 100644 index 0000000..47a286e --- /dev/null +++ b/.woodpecker/versions.yaml @@ -0,0 +1,26 @@ +when: + event: [manual, pull_request] + path: [.woodpecker/versions.yaml, pom.xml, src/**] + +depends_on: [verify] +matrix: + KEYCLOAK_VERSION: + - 22.0.5 + - 23.0.7 + - 24.0.5 + - 25.0.6 + - 26.2.5 + +services: + - name: dockerd + image: kokuwaio/dockerd + privileged: true + ports: [2375, 8080] + +steps: + + test: + image: maven:3.9.10-eclipse-temurin-17 + commands: mvn verify -Dversion.org.keycloak.test="$KEYCLOAK_VERSION" -P-deploy,-check + environment: + MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.woodpecker/maven/settings.xml diff --git a/pom.xml b/pom.xml index 919f2b2..09a74ee 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ io.kokuwa.keycloak keycloak-event-metrics - 2.0.0-SNAPSHOT + 2.0.1-SNAPSHOT Keycloak Metrics Provides metrics for Keycloak user/admin events @@ -59,7 +59,7 @@ - 2025-04-28T12:25:49Z + 2025-06-25T11:45:45Z UTF-8 ISO-8859-1 @@ -257,12 +257,13 @@ maven-release-plugin 3.1.1 - clean - clean + test + check + deploy -DskipITs + deploy,release true @{prefix} prepare release @{releaseLabel} [CI SKIP] @{project.version} - false