on: [push, pull_request]
name: Test
jobs:
  test:
    env:
      GOPROXY: https://proxy.golang.org
      GO111MODULE: on
    strategy:
      matrix:
        go-version: [1.14.x, 1.15.x]
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
    - name: Install Go
      uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8
      with:
        go-version: ${{ matrix.go-version }}
    - name: Install Ruby
      uses: actions/setup-ruby@5f29a1cd8dfebf420691c4c9a0e832e2fae5a526
      with:
        ruby-version: '2.7'
    - name: Install Python
      uses: actions/setup-python@3105fb18c05ddd93efea5f9e0bef7a03a6e9e7df
      with:
        python-version: '3.x'
    - name: Install Mage
      run: go get github.com/magefile/mage@07afc7d24f4d6d6442305d49552f04fbda5ccb3e
    - name: Install asciidoctor
      uses: reitzig/actions-asciidoctor@7570212ae20b63653481675fb1ff62d1073632b0
    - name: Checkout code
      uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
    - name: Install docutils
      run: |
        pip install docutils
        rst2html.py --version
    - if: matrix.os == 'ubuntu-latest'
      name: Install pandoc on Linux
      run: |
          sudo apt-get update -y
          sudo apt-get install -y pandoc
    - if: matrix.os == 'macos-latest'
      run: |
        brew install pandoc
    - if: matrix.os == 'windows-latest'
      run: |
        choco install pandoc
    - run: pandoc -v
    - if: matrix.os == 'ubuntu-latest'
      name: Install dart-sass-embedded Linux
      run: |
        curl -LJO https://github.com/sass/dart-sass-embedded/releases/download/1.0.0-beta.5/sass_embedded-1.0.0-beta.5-linux-x64.tar.gz;
        echo "642738beaea4ef1b9168446bc105267a2948a5e939537f5bd5afb48159140a44  sass_embedded-1.0.0-beta.5-linux-x64.tar.gz" | sha256sum -c;
        tar -xvf sass_embedded-1.0.0-beta.5-linux-x64.tar.gz;
        echo "$GITHUB_WORKSPACE/sass_embedded/" >> $GITHUB_PATH
    - if: matrix.os == 'macos-latest'
      name: Install dart-sass-embedded MacOS
      run: |
        curl -LJO https://github.com/sass/dart-sass-embedded/releases/download/1.0.0-beta.5/sass_embedded-1.0.0-beta.5-macos-x64.tar.gz;
        echo "47b55a39126155f89fdfb8eea7c19ba976b3f6fadbdb6867e5582a18137bd180  sass_embedded-1.0.0-beta.5-macos-x64.tar.gz" | shasum -a 256 -c;
        tar -xvf sass_embedded-1.0.0-beta.5-macos-x64.tar.gz;
        echo "$GITHUB_WORKSPACE/sass_embedded/" >> $GITHUB_PATH
    - if: matrix.os == 'windows-latest'
      name: Install dart-sass-embedded Windows
      run: |
        curl -LJO https://github.com/sass/dart-sass-embedded/releases/download/1.0.0-beta.5/sass_embedded-1.0.0-beta.5-windows-x64.zip;
        echo "5e65c0d8cbe038b6a120a3e7f390ad731708998f37c2de8ba565c51746a4588c  sass_embedded-1.0.0-beta.5-windows-x64.zip" | sha256sum -c;
        unzip sass_embedded-1.0.0-beta.5-windows-x64.zip;
        echo  "$env:GITHUB_WORKSPACE/sass_embedded/" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf-8 -Append
    - name: Test
      run: |
        mage -v test
        mage -v check;
    - name: Build Docs
      env:
        HUGO_BUILD_TAGS: extended
        HUGO_TIMEOUT: 31000
        HUGO_IGNOREERRORS: error-remote-getjson
      run: |
        mage -v hugo
        ./hugo -s docs/
        ./hugo --renderToMemory -s docs/
