feature/setup-workflow-pipeline: add lombok, add gitea workflow #2

Merged
chimeudeonwop merged 102 commits from feature/setup-workflow-pipeline into main 2025-10-31 16:46:56 +00:00
13 changed files with 522 additions and 276 deletions
Showing only changes of commit 830d05dc9d - Show all commits

View File

@ -86,59 +86,63 @@ jobs:
runs-on: ubuntu-latest
steps:
# Checkout repository first
# Checkout repository
- name: Checkout repository manually
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@#")
CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#")
git clone --quiet "$CLONE_URL_WITH_AUTH" .
echo "${{ gitea.repository }} cloned successfully."
echo "Repository cloned successfully."
- name: Set up Java 21 and Maven
# Manual Java 21 installation
- name: Install OpenJDK 21 manually
run: |
set -e
# Detect if running in act
if command -v act >/dev/null 2>&1; then
echo "Detected act runner, installing OpenJDK 21 via apt-get..."
sudo apt-get update
sudo apt-get install -y openjdk-21-jdk maven
else
echo "Detected GitHub runner, using actions/setup-java..."
echo "Detected act runner, installing Java 21 via apt silently..."
fi
shell: bash
- uses: actions/checkout@v5
- 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
# Install prerequisites silently
sudo apt-get update -qq
sudo apt-get install -y -qq wget tar gzip gnupg --no-install-recommends
- name: Setup Java 21 (for act)
run: |
# Ensure keyrings are updated
apt-get update -y --allow-unauthenticated || true
apt-get install -y --no-install-recommends wget gnupg software-properties-common
# Download OpenJDK 21 tar.gz from Eclipse Temurin (or AdoptOpenJDK)
JDK_VERSION="21.0.0+35"
JDK_DIR="/opt/jdk-21"
TMP_TAR="/tmp/openjdk-21.tar.gz"
wget -qO "$TMP_TAR" "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.0%2B35/OpenJDK21U-jdk_x64_linux_hotspot_21.0.0_35.tar.gz"
# Add the missing public key
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C || true
# Extract silently
sudo mkdir -p "$JDK_DIR"
sudo tar --strip-components=1 -xzf "$TMP_TAR" -C "$JDK_DIR" >/dev/null
# Set environment variables for all steps
echo "JAVA_HOME=$JDK_DIR" | sudo tee /etc/profile.d/jdk21.sh
echo "PATH=$JDK_DIR/bin:\$PATH" | sudo tee -a /etc/profile.d/jdk21.sh
export JAVA_HOME="$JDK_DIR"
export PATH="$JAVA_HOME/bin:$PATH"
# Update sources and install Java 21
apt-get update -y
apt-get install -y openjdk-21-jdk
java -version
echo "Java 21 setup completed."
echo "OpenJDK 21 installed successfully."
- name: Set up Maven
uses: stCarolas/setup-maven@v5
with:
maven-version: 3.9.9
# Install Maven manually
- name: Install Maven silently
run: |
MAVEN_VERSION="3.9.9"
MAVEN_DIR="/opt/maven"
wget -qO /tmp/apache-maven.tar.gz "https://downloads.apache.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz"
sudo mkdir -p "$MAVEN_DIR"
sudo tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 -C "$MAVEN_DIR" >/dev/null
echo "MAVEN_HOME=$MAVEN_DIR" | sudo tee /etc/profile.d/maven.sh
echo "PATH=$MAVEN_DIR/bin:\$PATH" | sudo tee -a /etc/profile.d/maven.sh
export MAVEN_HOME="$MAVEN_DIR"
export PATH="$MAVEN_HOME/bin:$PATH"
mvn -v
# Cache Maven dependencies
- name: Cache Maven dependencies
uses: actions/cache@v3
with:
@ -147,14 +151,11 @@ jobs:
restore-keys: |
maven-${{ runner.os }}-
# Run backend tests and build
- name: Test & build backend
working-directory: ./src
run: |
echo "Started test & build backend..."
ls .
mvn clean
echo "Backend tests and build completed successfully."
# mvn clean verify package -B
mvn clean verify -B
- name: Done
run: echo "Workflow successfully completed."