docs.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. name: Docs
  2. on:
  3. push:
  4. branches:
  5. - master
  6. pull_request:
  7. branches:
  8. - "**"
  9. env:
  10. CI: true
  11. NODE: 12.x
  12. RUBY: 2.6.x
  13. jobs:
  14. run:
  15. runs-on: ubuntu-latest
  16. steps:
  17. - name: Clone repository
  18. uses: actions/checkout@v2
  19. - name: Set up Node.js
  20. uses: actions/setup-node@v1
  21. with:
  22. node-version: "${{ env.NODE }}"
  23. - name: Set up Ruby
  24. uses: actions/setup-ruby@v1
  25. with:
  26. ruby-version: ${{ env.RUBY }}
  27. - name: Disable gem docs
  28. run: 'echo "gem: --no-document" > ~/.gemrc'
  29. - name: Set up npm cache
  30. uses: actions/cache@v2
  31. with:
  32. path: ~/.npm
  33. key: ${{ runner.os }}-node-v${{ env.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
  34. restore-keys: |
  35. ${{ runner.OS }}-node-v${{ env.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
  36. ${{ runner.OS }}-node-v${{ env.node }}-
  37. - name: Set up Ruby cache
  38. uses: actions/cache@v2
  39. with:
  40. path: docs/vendor/bundle
  41. key: ${{ runner.os }}-ruby-v${{ env.RUBY }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
  42. restore-keys: |
  43. ${{ runner.os }}-ruby-v${{ env.RUBY }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
  44. ${{ runner.os }}-ruby-v${{ env.RUBY }}-
  45. - name: Set up Bundler
  46. run: gem install bundler -v "~> 1.17"
  47. - run: ruby --version
  48. - run: gem --version
  49. - run: bundle --version
  50. - run: java -version
  51. - name: Install npm dependencies
  52. run: npm ci
  53. - name: Install bundler dependencies
  54. run: bundle install --gemfile docs/Gemfile --deployment --jobs=4 --retry=3 --clean
  55. - name: Build docs
  56. run: npm run docs-compile
  57. - name: Run HTML validator
  58. run: npm run docs-lint