diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 771b56f..8506406 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -99,27 +99,35 @@ jobs: echo "Repository cloned successfully." # 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 + - name: Checkout code + uses: actions/checkout@v4 - # Cache Maven dependencies - - name: Cache Maven dependencies - uses: actions/cache@v3 + # 1️⃣ Download OpenJDK 21 (example source URL) + - name: Download OpenJDK 21 + run: | + download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + wget -O $RUNNER_TEMP/java_package.tar.gz $download_url + + # 2️⃣ Setup Java from local JDK file + - name: Set up OpenJDK 21 + uses: actions/setup-java@v5 with: - path: ~/.m2/repository - key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - maven-${{ runner.os }}- + distribution: 'jdkfile' # Use locally downloaded JDK + jdkFile: ${{ runner.temp }}/java_package.tar.gz + java-version: '21' + architecture: x64 + mvn-toolchain-vendor: 'Oracle' + cache: 'maven' # Enable Maven dependency caching + + # 3️⃣ Verify Java installation + - name: Verify Java setup + run: | + java -version + echo "JAVA_HOME=$JAVA_HOME" + + # 4️⃣ Build and test with Maven + - name: Build with Maven + run: mvn -B verify # Run backend tests and build - name: Test & build backend