feature/setup-workflow-pipeline: add lombok, add gitea workflow #2
@ -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."
|
||||||
@ -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' }}
|
apt-get update -y
|
||||||
run: |
|
apt-get install -y openjdk-21-jdk maven wget tar
|
||||||
apt-get update -y
|
JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
|
||||||
apt-get install -y openjdk-21-jdk
|
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."
|
||||||
Reference in New Issue
Block a user