summaryrefslogtreecommitdiffstats
path: root/.github/workflows/test.yml
blob: 1528da51ebcd49b0c1732cfba04fc8afa4212c11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
on:
  push:
    branches: [ master ]
  pull_request:
name: Test
env:
  DART_SASS_VERSION: 1.56.1
  DART_SASS_SHA_LINUX: c6dd75ab1acb2cab98982a32622c0ba631cfaa753e7bac84efd32c6c19ea9303
  DART_SASS_SHA_MACOS: df6f4813501f906ffc8f8af865452b037bc1c3a17448c4b8ffa3be82793eb0c8
  DART_SASS_SHA_WINDOWS: c8bf9c009afd6bbeb1742e010845b84e1021fdba6edc80b4dd1fbbee75354b39
permissions:
  contents: read
jobs:
  test:
    env:
      GOPROXY: https://proxy.golang.org
      GO111MODULE: on
    strategy:
      matrix:
        # Note: We upgraded to Go 1.18 in Hugo v0.95.0
        # Go 1.18 had some breaking changes on the source level which means Hugo cannot be built
        # with older Go versions, but the improvements in Go 1.18 were too good to pass on (e.g. break and continue).
        # Note that you don't need Go (or Go 1.18) to run a pre-built binary.
        go-version: [1.18.x,1.19.x]
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
    - name: Checkout code
      uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
    - name: Install Go
      uses: actions/setup-go@268d8c0ca0432bb2cf416faae41297df9d262d7f
      with:
        go-version: ${{ matrix.go-version }}
        check-latest: true
        cache: true
        cache-dependency-path: |
          **/go.sum
          **/go.mod
    - 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 install github.com/magefile/mage@07afc7d24f4d6d6442305d49552f04fbda5ccb3e
    - name: Install asciidoctor
      uses: reitzig/actions-asciidoctor@7570212ae20b63653481675fb1ff62d1073632b0
    - 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 -PackageName pandoc
    - run: pandoc -v
    - if: matrix.os == 'windows-latest'
      run: |
        Choco-Install -PackageName mingw -ArgumentList "--version","10.2.0","--allow-downgrade"
    - if: matrix.os == 'ubuntu-latest'
      name: Install dart-sass-embedded Linux
      run: |
        curl -LJO https://github.com/sass/dart-sass-embedded/releases/download/${DART_SASS_VERSION}/sass_embedded-${DART_SASS_VERSION}-linux-x64.tar.gz;
        echo "${DART_SASS_SHA_LINUX}  sass_embedded-${DART_SASS_VERSION}-linux-x64.tar.gz" | sha256sum -c;
        tar -xvf sass_embedded-${DART_SASS_VERSION}-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/${DART_SASS_VERSION}/sass_embedded-${DART_SASS_VERSION}-macos-x64.tar.gz;
        echo "${DART_SASS_SHA_MACOS} sass_embedded-${DART_SASS_VERSION}-macos-x64.tar.gz" | shasum -a 256 -c;
        tar -xvf sass_embedded-${DART_SASS_VERSION}-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/${DART_SASS_VERSION}/sass_embedded-${DART_SASS_VERSION}-windows-x64.zip;
        echo "${DART_SASS_SHA_WINDOWS} sass_embedded-${DART_SASS_VERSION}-windows-x64.zip" | sha256sum -c;
        unzip sass_embedded-${DART_SASS_VERSION}-windows-x64.zip;
        echo  "$env:GITHUB_WORKSPACE/sass_embedded/" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf-8 -Append
    - name: Check
      run: |
        mage -v check;
      env:
        HUGO_BUILD_TAGS: extended
    - name: Build Docs
      env:
        HUGO_BUILD_TAGS: extended
        HUGO_TIMEOUT: 31000
        HUGO_IGNOREERRORS: error-remote-getjson
        HUGO_SERVICES_INSTAGRAM_ACCESSTOKEN: dummytoken
      run: |
        mage -v hugo
        ./hugo -s docs/
        ./hugo --renderToMemory -s docs/