name: test | docker compose

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  docker-compose-test:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@master

    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v3

    - name: Build Docker images
      run: |
        docker compose -f docker-compose.yml build

    - name: Run Docker Compose
      run: |
        docker compose -f docker-compose.yml up -d

    - name: Wait for services to be ready
      run: |
        # Add any necessary health checks or wait commands
        sleep 30

    - name: Shut down Docker Compose
      if: always()
      run: |
        docker compose -f docker-compose.yml down
