diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 16682dd..508b346 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -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." + run: echo "Workflow successfully completed." \ No newline at end of file