docs.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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: Get npm cache directory
  30. id: npm-cache
  31. run: |
  32. echo "::set-output name=dir::$(npm config get cache)"
  33. - name: Set up npm cache
  34. uses: actions/cache@v2
  35. with:
  36. path: ${{ steps.npm-cache.outputs.dir }}
  37. key: ${{ runner.os }}-node-v${{ env.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
  38. restore-keys: |
  39. ${{ runner.OS }}-node-v${{ env.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
  40. ${{ runner.OS }}-node-v${{ env.node }}-
  41. - name: Set up Ruby cache
  42. uses: actions/cache@v2
  43. with:
  44. path: docs/vendor/bundle
  45. key: ${{ runner.os }}-ruby-v${{ env.RUBY }}-${{ hashFiles('docs/Gemfile') }}-${{ hashFiles('docs/Gemfile.lock') }}
  46. restore-keys: |
  47. ${{ runner.os }}-ruby-v${{ env.RUBY }}-${{ hashFiles('docs/Gemfile') }}-${{ hashFiles('docs/Gemfile.lock') }}
  48. ${{ runner.os }}-ruby-v${{ env.RUBY }}-
  49. - name: Set up Bundler
  50. run: gem install bundler -v "~> 1.17"
  51. - run: ruby --version
  52. - run: gem --version
  53. - run: bundle --version
  54. - run: java -version
  55. - name: Install npm dependencies
  56. run: npm ci
  57. - name: Install bundler dependencies
  58. run: bundle install --gemfile docs/Gemfile --deployment --jobs=4 --retry=3 --clean
  59. - name: Build docs
  60. run: npm run docs-compile
  61. - name: Run HTML validator
  62. run: npm run docs-lint