on: [push, pull_request]
name: Go Tests
jobs:
  test:
    strategy:
      matrix:
        go-version: [1.16.x, 1.17.x]
        platform: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.platform }}
    steps:
    - name: Install Go
      uses: actions/setup-go@v1
      with:
        go-version: ${{ matrix.go-version }}
    - name: Set git on win to use LF
      run: |
        git config --global core.autocrlf false
        git config --global core.eol lf
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Test
      run: go test ./...
      env:
        ENRY_DEBUG: 1

  test-oniguruma:
    strategy:
      matrix:
        go-version: [1.16.x, 1.17.x]
    runs-on: ubuntu-latest
    env:
      ONIGURUMA_VERSION: 6.9.4
    steps:
    - name: Install libonig5
      run: |
        wget "http://archive.ubuntu.com/ubuntu/pool/universe/libo/libonig/libonig5_${ONIGURUMA_VERSION}-1_amd64.deb"
        sudo dpkg -i "libonig5_${ONIGURUMA_VERSION}-1_amd64.deb"
        wget "http://archive.ubuntu.com/ubuntu/pool/universe/libo/libonig/libonig-dev_${ONIGURUMA_VERSION}-1_amd64.deb"
        sudo dpkg -i "libonig-dev_${ONIGURUMA_VERSION}-1_amd64.deb"

    - name: Install Go
      uses: actions/setup-go@v1
      with:
        go-version: ${{ matrix.go-version }}

    - name: Checkout code
      uses: actions/checkout@v2

    - name: Test
      run: go test ./...
      env:
        GO_TAGS: oniguruma
