website.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. name: Publish Website
  2. on:
  3. schedule:
  4. - cron: 0 23 * * *
  5. workflow_dispatch: {}
  6. # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
  7. permissions:
  8. contents: read
  9. pages: write
  10. id-token: write
  11. # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
  12. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
  13. concurrency:
  14. group: 'pages'
  15. cancel-in-progress: false
  16. jobs:
  17. deploy:
  18. environment:
  19. name: github-pages
  20. url: ${{ steps.deployment.outputs.page_url }}
  21. runs-on: ubuntu-latest
  22. steps:
  23. - name: Checkout
  24. uses: actions/checkout@v4
  25. - uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # pin@v2
  26. with:
  27. node-version: 20
  28. - name: Cache node modules
  29. id: cacheNodeModules
  30. uses: actions/cache@v4
  31. with:
  32. path: '**/node_modules'
  33. key: ${{ runner.os }}-cacheNodeModules2-${{ hashFiles('**/package-lock.json') }}
  34. restore-keys: ${{ runner.os }}-cacheNodeModules2-
  35. - name: execute `npm ci` (1)
  36. if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
  37. run: npm ci
  38. - name: Build
  39. run: npm run build-monaco-editor
  40. - name: Install website node modules
  41. working-directory: website
  42. run: yarn install --frozen-lockfile
  43. - name: Install most recent version of monaco-editor
  44. working-directory: website
  45. run: yarn add monaco-editor
  46. - name: Build website
  47. working-directory: website
  48. run: yarn run build
  49. - name: Setup Pages
  50. uses: actions/configure-pages@v5
  51. - name: Upload artifact
  52. uses: actions/upload-pages-artifact@v3
  53. with:
  54. # Upload entire repository
  55. path: './website/dist'
  56. - name: Deploy to GitHub Pages
  57. id: deployment
  58. uses: actions/deploy-pages@v4