mvn clean build
Some checks failed
checks / Set up Node and other necessary dependencies for Frontend Tests and Build (push) Successful in 11s
checks / Set up Java for Backend Tests and Build (push) Failing after 4s
Gitea Actions Demo / Explore-Gitea-Actions-2 (pull_request) Successful in 3s
checks / Set up Node and other necessary dependencies for Frontend Tests and Build (pull_request) Successful in 11s
checks / Set up Java for Backend Tests and Build (pull_request) Failing after 4s

This commit is contained in:
Patrick
2025-10-31 16:02:22 +01:00
parent 267be7073a
commit d67df1b618
2 changed files with 55 additions and 52 deletions

View File

@ -150,7 +150,7 @@ jobs:
# Run backend tests and build # Run backend tests and build
- name: Test & build backend - name: Test & build backend
working-directory: ./src working-directory: ./src
run: mvn clean verify -B run: mvn clean build
- name: Done - name: Done
run: echo "Workflow successfully completed." run: echo "Workflow successfully completed."

View File

@ -84,70 +84,73 @@ jobs:
backend-jobs: backend-jobs:
name: Set up Java for Backend Tests and Build name: Set up Java for Backend Tests and Build
runs-on: ubuntu-latest runs-on: ubuntu-latest
#container:
#image: eclipse-temurin:21-jdk
steps: steps:
# Checkout repository first - name: Checkout repository
- name: Checkout repository manually uses: actions/checkout@v4
env:
TOKEN: ${{ secrets.ACCESS_TOKEN }}
CLONE_URL: ${{ vars.CLONE_URL }}
run: |
echo "Cloning from $CLONE_URL"
echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN"
CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#")
git clone --quiet "$CLONE_URL_WITH_AUTH" .
echo "${{ gitea.repository }} cloned successfully."
- name: Set up Java 21 and Maven - name: Setup Java 21 + Maven
run: | run: |
if command -v act >/dev/null 2>&1; then echo "Detecting package manager..."
echo "Detected act runner, installing OpenJDK 21 via apt-get..." if command -v apt-get >/dev/null 2>&1; then
sudo apt-get update PM=apt
sudo apt-get install -y openjdk-21-jdk maven elif command -v apk >/dev/null 2>&1; then
PM=apk
elif command -v yum >/dev/null 2>&1; then
PM=yum
else else
echo "Detected GitHub runner, using actions/setup-java..." echo "No known package manager found. Will install JDK manually."
PM=none
fi fi
shell: bash
- uses: actions/checkout@v5 echo "Package manager detected: $PM"
- name: Set up JDK 21 for x64
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'oracle'
architecture: x64
cache: maven
cache-dependency-path: 'pom.xml' # optional
- name: Setup Java 21 (for act) if [ "$PM" = "apt" ]; then
#if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }}
run: |
apt-get update -y apt-get update -y
apt-get install -y openjdk-21-jdk 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 java -version
echo "Java 21 setup completed." mvn -version
- name: Set up Maven - name: Verify Java setup
uses: stCarolas/setup-maven@v5 run: |
with: java -version
maven-version: 3.9.9
- name: Cache Maven dependencies - name: Verify Java setup
uses: actions/cache@v3 run: |
with: ls -l $JAVA_HOME/bin/java
path: ~/.m2/repository file $JAVA_HOME/bin/java || true
key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} java -version
restore-keys: |
maven-${{ runner.os }}-
# Run backend tests and build
- name: Test & build backend - name: Test & build backend
working-directory: ./src working-directory: ./src
run: | run: mvn clean
echo "Started test & build backend..."
ls .
mvn clean
echo "Backend tests and build completed successfully."
# mvn clean verify package -B
- name: Done - name: Done
run: echo "Workflow successfully completed." run: echo "Workflow successfully completed."