# 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"]'
  MIN_TOKEN_IN_CORPUS: "22000000000"
  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
