name: Run tests
on:
  pull_request:
    branches:
      - release-1.6
  push:
    branches:
      - release-1.6
    tags: '*'
jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        julia-version:
          - '1.6'
          # - 'nightly'
        julia-arch:
          - 'x64'
          - 'x86'
        os:
          - ubuntu-latest
          - macOS-latest
          # - windows-latest  # windows has problems and the TEMP fix below doesn't work)
        pkg-server:
          - ""
          - "pkg.julialang.org"
        exclude:
          - os: macOS-latest
            julia-arch: x86
    steps:
      - name: Set git to use LF
        if: matrix.os == 'windows-latest'
        run: |
          git config --global core.autocrlf false
          git config --global core.eol lf
      - uses: actions/checkout@v2
      - uses: julia-actions/setup-julia@latest
        with:
          version: ${{ matrix.julia-version }}
          arch: ${{ matrix.julia-arch }}
      - name: Fix TEMP on windows
        if: matrix.os == 'windows-latest'
        run: |
          # See https://github.com/actions/virtual-environments/issues/712
          set TMP=%USERPROFILE%\AppData\Local\Temp
          set TEMP=%USERPROFILE%\AppData\Local\Temp
      - name: Run tests
        run: |
          julia test/pkg-uuid.jl
          julia --project --color=yes -e 'using UUIDs; write("Project.toml", replace(read("Project.toml", String), r"uuid = .*?\n" =>"uuid = \"$(uuid4())\"\n"));'
          julia --project --color=yes --check-bounds=yes -e 'import Pkg; Pkg.build(); Pkg.test(; coverage=true)'
        env:
          JULIA_PKG_SERVER: ${{ matrix.pkg-server }}
      - uses: julia-actions/julia-processcoverage@v1
        env:
            JULIA_PKG_SERVER: ${{ matrix.pkg-server }}
      - uses: codecov/codecov-action@v1
        with:
          file: lcov.info
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1.0.0
      - uses: julia-actions/setup-julia@latest
        with:
          # version: '1.6'
          version: 'nightly'
      - name: Generate docs
        run: |
          julia --color=yes -e 'using UUIDs; write("Project.toml", replace(read("Project.toml", String), r"uuid = .*?\n" =>"uuid = \"$(uuid4())\"\n"))'
          julia --project --color=yes -e 'using Pkg; Pkg.activate("docs"); Pkg.instantiate(); Pkg.develop(PackageSpec(path = pwd()))'
          julia --project=docs --color=yes docs/make.jl pdf
        env:
          DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
