name: opentelemetry
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  test-otel:
    name: 'Test Open Telemetry'
    env:
      TEST_ES_SERVER: http://localhost:9250
      PORT: 9250
      TEST_WITH_OTEL: true
    strategy:
      fail-fast: false
      matrix:
        ruby: ['4.0', 'jruby-9.4']
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4.3.0
        with:
          persist-credentials: false
      - name: Increase system limits
        run: |
          sudo swapoff -a
          sudo sysctl -w vm.swappiness=1
          sudo sysctl -w fs.file-max=262144
          sudo sysctl -w vm.max_map_count=262144
      - uses: elastic/elastic-github-actions/elasticsearch@master
        with:
          stack-version: 9.4.2-SNAPSHOT
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: Build
        run: |
          sudo apt-get update
          sudo apt-get install libcurl4-openssl-dev
          rake bundle:clean
          rake bundle:install
      - name: elasticsearch
        run: cd elasticsearch && bundle exec rake test:all
      - name: elasticsearch-api
        run: rake es:download_artifacts[main] && cd elasticsearch-api && bundle exec rake test:all
