name: Docs on: # trigger deployment on every push to main branch push: paths: - "docs/**" branches: - master # trigger deployment manually workflow_dispatch: jobs: docs: runs-on: ubuntu-latest defaults: run: working-directory: docs/ steps: - uses: actions/checkout@v3 with: # fetch all commits to get last updated time or other git log info fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: "16" - name: Cache dependencies uses: actions/cache@v3 id: npm-cache with: path: | **/node_modules key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - name: Install dependencies if: steps.npm-cache.outputs.cache-hit != 'true' run: npm install - name: Build VuePress site run: npm run build - name: Bundle CNAME with site dist run: cp CNAME .vuepress/dist - name: Deploy to GitHub Pages uses: crazy-max/ghaction-github-pages@v3 with: # deploy to gh-pages branch target_branch: gh-pages # deploy the default output dir of VuePress build_dir: docs/.vuepress/dist env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}