Files
backend/.gitea/workflows/test.yaml
T
TakahashiNg 017119a8d0
Java CI with Maven / build-and-test (pull_request) Failing after 1m24s
chore: update
2026-04-15 14:07:09 +00:00

79 lines
2.3 KiB
YAML

name: Java CI with Maven
on:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
actions: read
checks: write
jobs:
build-and-test:
runs-on: ubuntu-latest
env:
DOCKER_NET: quarkus-it-net
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- uses: gerlero/apt-install@v1
with:
packages: openjdk-25-jdk-headless docker.io
- name: Build and Test all modules
env:
TESTCONTAINERS_RYUK_DISABLED: "true"
run: |
docker network create ${DOCKER_NET} || true
docker run -d --name postgres-it --network ${DOCKER_NET} -e POSTGRES_PASSWORD=password postgres || true
docker run -d --name redis-it --network ${DOCKER_NET} redis || true
POSTGRES_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' postgres-it)
REDIS_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-it)
echo $POSTGRES_IP
echo $REDIS_IP
./scripts/gen-it.sh
./mvnw -B verify \
-Dquarkus.container-image.push=false \
-Dquarkus.test.container.network=${DOCKER_NET} \
-Dquarkus.datasource.jdbc.url=jdbc:postgresql://${POSTGRES_IP}:5432/postgres \
-Dquarkus.redis.hosts=redis://${REDIS_IP}:6379
- name: Debug Quarkus Integration Test Logs
if: failure()
run: |
echo "--- QUARKUS LOG ---"
# Tìm và hiển thị log của Quarkus Integration Test
find . -name "quarkus.log" -exec cat {} +
echo "--- DOCKER CONTAINERS STATUS ---"
docker ps -a
echo "--- DOCKER NETWORK INSPECT ---"
docker network inspect ${DOCKER_NET} || true
- name: Clean up Docker containers
if: always()
run: |
docker ps -a --filter network=${DOCKER_NET} -q | xargs -r docker rm -f
docker network rm ${DOCKER_NET}