From 267be7073a5eeb27e22612f276d4a61ae1ab918e Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:58:25 +0100 Subject: [PATCH] ma jdk ch 21 --- .gitea/workflows/jdk.yaml | 53 +++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index c0b483b..607f0f7 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -91,14 +91,51 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Set up Java 21 (Temurin) - uses: actions/setup-java@v5 - with: - distribution: 'temurin' - java-version: '21' - cache-dependency-path: 'pom.xml' # optional - cache: 'maven' - package: 'maven' + - name: Setup Java 21 + Maven + run: | + echo "Detecting package manager..." + if command -v apt-get >/dev/null 2>&1; then + PM=apt + elif command -v apk >/dev/null 2>&1; then + PM=apk + elif command -v yum >/dev/null 2>&1; then + PM=yum + else + echo "No known package manager found. Will install JDK manually." + PM=none + fi + + echo "Package manager detected: $PM" + + if [ "$PM" = "apt" ]; then + apt-get update -y + apt-get install -y openjdk-21-jdk maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 + elif [ "$PM" = "apk" ]; then + apk update + apk add openjdk21 maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk + elif [ "$PM" = "yum" ]; then + yum install -y java-21-openjdk-devel maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk + else + # Fallback: manual download + JDK_URL="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + mkdir -p /opt/jdk + wget -q -O /tmp/jdk.tar.gz $JDK_URL + tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1 + JAVA_HOME=/opt/jdk + fi + + # Export JAVA_HOME and update PATH for subsequent steps + echo "JAVA_HOME=$JAVA_HOME" >> $GITEA_ENV + echo "$JAVA_HOME/bin" >> $GITEA_PATH + export JAVA_HOME=$JAVA_HOME + export PATH=$JAVA_HOME/bin:$PATH + + # Verify Java and Maven installation + java -version + mvn -version - name: Verify Java setup run: |