# GitLab CI/CD configuration for KorAP E2E Tests
# This pipeline runs end-to-end tests against a KorAP instance

stages:
  - test

variables:
  # Default test configuration
  KORAP_URL: "https://korap.ids-mannheim.de/"
  KORAP_QUERIES: 'geht, [orth=geht & tt/p="VVFIN"]'
  LC_ALL: "C"
  
  # Node.js configuration
  NODE_ENV: "test"

# Main E2E test job
e2e_tests:
  stage: test
  image: node:bullseye
  
  # Install system dependencies required for Puppeteer
  before_script:
    - apt-get update
    - apt-get install -y 
        wget 
        gnupg 
        ca-certificates 
        fonts-liberation 
        libasound2 
        libatk-bridge2.0-0 
        libatk1.0-0 
        libc6 
        libcairo2 
        libcups2 
        libdbus-1-3 
        libexpat1 
        libfontconfig1 
        libgbm1 
        libgcc1 
        libglib2.0-0 
        libgtk-3-0 
        libnspr4 
        libnss3 
        libpango-1.0-0 
        libpangocairo-1.0-0 
        libstdc++6 
        libx11-6 
        libx11-xcb1 
        libxcb1 
        libxcomposite1 
        libxcursor1 
        libxdamage1 
        libxext6 
        libxfixes3 
        libxi6 
        libxrandr2 
        libxrender1 
        libxss1 
        libxtst6 
        lsb-release 
        wget 
        xdg-utils
    - npm install
    
  script:
    - echo "Running KorAP E2E tests against $KORAP_URL"
    - npm run test:ci
    
  after_script:
    - echo "Test execution completed, checking for test results..."
    - ls -la test-results.xml || echo "No test-results.xml found"
    
  # Use CI variables for sensitive data
  variables:
    KORAP_LOGIN: $KORAP_USERNAME        # Set this in GitLab CI/CD Variables
    KORAP_PWD: $KORAP_PASSWORD          # Set this in GitLab CI/CD Variables
    SLACK_WEBHOOK_URL: $SLACK_WEBHOOK   # Optional: Set for Slack notifications
    
  # Generate test artifacts - always keep results even on test failure
  artifacts:
    when: always  # Collect artifacts on success, failure, and cancellation
    reports:
      junit: test-results.xml  # GitLab will parse this for test reporting
    paths:
      - "test-results.xml"      # Keep the raw XML file as well
      - "failed_*.png"          # Screenshots of failed tests
    expire_in: 1 week
    
  # Retry on failure (network issues, etc.)
  retry:
    max: 2
    when:
      - unknown_failure
      - api_failure
      - runner_system_failure
      
  # Pipeline trigger rules
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_PIPELINE_SOURCE == "schedule"  # Allow scheduled runs
    - when: manual

  # Set timeout
  timeout: 5 minutes

# Optional: Scheduled test job for regular monitoring
scheduled_tests:
  extends: e2e_tests
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"
  variables:
    SLACK_WEBHOOK_URL: $SLACK_WEBHOOK  # Enable notifications for scheduled runs
