workflow #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run Interface Tests with Docker | |
on: | |
push: | |
branches: | |
- main | |
- cicd | |
pull_request: | |
jobs: | |
build-test: | |
runs-on: ubuntu-latest | |
steps: | |
# Paso 1: Clonar el repositorio | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# Paso 2: Configurar Docker | |
- name: Set up Docker | |
uses: docker/setup-buildx-action@v2 | |
# Paso 3: Iniciar contenedores Docker | |
- name: Start Docker containers | |
run: | | |
docker-compose -f docker-compose.yml up -d # Levanta los contenedores en segundo plano | |
timeout-minutes: 5 | |
# Paso 4: Esperar a que los servicios estén listos | |
- name: Wait for services to be ready | |
run: | | |
while ! curl -s http://localhost:8443; do sleep 1; done | |
while ! nc -z localhost 3307; do sleep 1; done | |
while ! curl -s http://localhost:4200; do sleep 1; done | |
# Paso 5: Configurar Java | |
- name: Set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' # Cambia según tu versión de Java | |
# Paso 6: Configurar Maven cache | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-m2 | |
# Paso 7: Ejecutar las pruebas de interfaz | |
- name: Run interface tests | |
run: mvn clean test -Dtest=LoginUiTests.java # Ajusta según tu clase de pruebas | |
# Paso 8: Detener contenedores Docker | |
- name: Stop Docker containers | |
run: | | |
docker-compose -f docker-compose.yml down |