Files
my-app/.gitea/workflows/jdk.yaml
Patrick 1157f0eeea
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 13s
Gitea Actions Demo / Explore-Gitea-Actions-2 (pull_request) Successful in 2s
checks / Set up Node and other necessary dependencies for Frontend Tests and Build (pull_request) Successful in 10s
checks / Set up Java for Backend Tests and Build (pull_request) Failing after 13s
ma jdk ch
2025-10-31 15:41:31 +01:00

136 lines
4.6 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: checks
on:
push:
pull_request:
jobs:
frontend-jobs:
name: Set up Node and other necessary dependencies for Frontend Tests and Build
runs-on: ubuntu-latest
steps:
- name: Info
run: |
echo "Triggered by ${{ gitea.event_name }} event"
echo "Branch: ${{ gitea.ref }}"
echo "Repository: ${{ gitea.repository }}"
- name: Install Node.js, npm, and Yarn (optimized)
run: |
set -e
echo "Preparing Node.js, npm, and Yarn setup..."
if command -v apt >/dev/null 2>&1; then
echo "→ Using apt (Debian/Ubuntu)..."
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq >/dev/null
apt-get install -y -qq curl ca-certificates >/dev/null
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1
apt-get install -y -qq nodejs >/dev/null
npm install -g yarn --silent
elif command -v apk >/dev/null 2>&1; then
echo "→ Using apk (Alpine)..."
apk add --no-cache curl nodejs npm >/dev/null
npm install -g yarn --silent
elif command -v dnf >/dev/null 2>&1; then
echo "→ Using dnf (Fedora/RHEL)..."
dnf install -y -q curl ca-certificates nodejs npm >/dev/null
npm install -g yarn --silent
else
echo "No supported package manager found (apt, apk, dnf)."
exit 1
fi
echo "Node.js, npm, and Yarn installed successfully:"
node -v
npm -v
yarn -v
- 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@#")
git clone --quiet "$CLONE_URL_WITH_AUTH" .
echo "${{ gitea.repository }} cloned successfully."
# Install frontend dependencies and run tests
- name: Install frontend dependencies and run tests
#uses: actions/cache@v3
working-directory: ./frontend
with:
path: |
~/.yarn/cache
./node_modules
key: frontend-${{ runner.os }}-yarn-${{ hashFiles('frontend/yarn.lock') }}
restore-keys: |
frontend-${{ runner.os }}-yarn-
run: |
yarn install --frozen-lockfile
#yarn test --watchAll=false --ci
#Check frontend linting
- name: Check frontend linting
working-directory: ./frontend
run: yarn lint
backend-jobs:
name: Set up Java for Backend Tests and Build
runs-on: ubuntu-latest
#container:
#image: eclipse-temurin:21-jdk
steps:
- name: Setup Java 21 manually
run: |
download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz"
wget -q -O /tmp/jdk.tar.gz $download_url
mkdir -p /opt/jdk
tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1
echo "JAVA_HOME=/opt/jdk" >> $GITHUB_ENV
echo "/opt/jdk/bin" >> $GITHUB_PATH
- name: Verify Java setup
run: |
java -version
# Install Maven manually
- name: Download and extract 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
mkdir -p $RUNNER_TEMP/jdk-extracted
tar -xzf $RUNNER_TEMP/java_package.tar.gz -C $RUNNER_TEMP/jdk-extracted
# Detect the inner directory name (e.g., jdk-21.0.1)
extracted_dir=$(find $RUNNER_TEMP/jdk-extracted -maxdepth 1 -type d -name "jdk*" | head -n 1)
echo "Detected JDK directory: $extracted_dir"
echo "JAVA_HOME=$extracted_dir" >> $GITHUB_ENV
echo "$extracted_dir/bin" >> $GITHUB_PATH
- name: Verify Java setup
run: |
ls -l $JAVA_HOME/bin/java
file $JAVA_HOME/bin/java || true
java -version
# 4⃣ Build and test with Maven
- name: Build with Maven
run: mvn -B verify
# Run backend tests and build
- name: Test & build backend
working-directory: ./src
run: mvn clean verify -B
- name: Done
run: echo "Workflow successfully completed."