Files
Claude fb52ee2c27 Target JDK 25 LTS instead of JDK 27
maven.compiler.release and the enforcer floor go to 25, and both the
GitHub CI and the Gitea publish workflow use Temurin 25.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G71TQ5jDETVwdUJxGAwaiT
2026-10-12 07:32:18 +00:00

57 lines
1.9 KiB
YAML

# Builds, tests and publishes the library modules (parent, core, autoconfigure, starter) to the Gitea Maven
# registry of the "public" owner. The demo app is not published.
#
# push to main -> <version>-SNAPSHOT from pom.xml
# tag v1.2.3 -> release 1.2.3
# manual run -> whatever pom.xml says
#
# Needs the repository/organization secret REGISTRY_TOKEN: a Gitea access token with "write:package" scope.
# Uses the Maven Wrapper (./mvnw): act-based runner images do not ship Maven.
name: Publish
on:
push:
branches: [main]
tags: ['v*']
workflow_dispatch:
env:
REGISTRY_URL: ${{ gitea.server_url }}/api/packages/public/maven
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check registry token
env:
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
run: |
if [ -z "$REGISTRY_TOKEN" ]; then
echo "::error::Secret REGISTRY_TOKEN is not set or not available to this repository (Settings > Actions > Secrets)."
exit 1
fi
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
cache: maven
# writes ~/.m2/settings.xml with a <server id="gitea"> reading these env vars
server-id: gitea
server-username: REGISTRY_USERNAME
server-password: REGISTRY_TOKEN
- name: Set release version from tag
if: startsWith(gitea.ref, 'refs/tags/v')
run: ./mvnw -B -ntp versions:set -DnewVersion="${GITEA_REF_NAME#v}" -DgenerateBackupPoms=false
env:
GITEA_REF_NAME: ${{ gitea.ref_name }}
- name: Build, test and publish
run: ./mvnw -B -ntp deploy -DaltDeploymentRepository="gitea::${REGISTRY_URL}"
env:
REGISTRY_USERNAME: ${{ gitea.actor }}
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}