name: main
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  test-main:
    env:
      TEST_ES_SERVER: http://localhost:9250
      PORT: 9250
    strategy:
      fail-fast: false
      matrix:
        ruby: ['3.3', '3.4', '4.0', 'jruby-9.3', 'jruby-9.4', 'jruby-10.0']
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
      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.5.0-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: cd elasticsearch-api && bundle exec rake test:all
