| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
- # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
-
- name: Build docs and deploy to github pages.
-
- on:
- # Runs on pushes targeting the default branch
- push:
- branches: ["master"]
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
- # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
- permissions:
- contents: read
- pages: write
- id-token: write
-
- # Allow one concurrent deployment
- concurrency:
- group: "pages"
- cancel-in-progress: true
-
- jobs:
- build-and-deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
-
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- node-version: [18.x]
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
-
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-node@v4
- with:
- node-version: ${{ matrix.node-version }}
- cache: 'npm'
- cache-dependency-path: '**/package-lock.json' # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-data
- - run: npm ci # this will also run `npm run prepare` which will build # todo use --cache .npm
- - run: npm run build-site # builds to _site
- env:
- DOT_ENV_CONTENT: ${{ secrets.examples_dot_env }}
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v3
- with:
- path: '_site'
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
-
|