name: documents on: # run every time a push occurs in the docs folder push: branches: [master] paths: - docs/** - README.md # trigger deployment manually workflow_dispatch: jobs: build-documentation-pages: runs-on: ubuntu-latest defaults: run: working-directory: ./docs steps: - uses: actions/checkout@v4 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@v4 with: node-version: '20' # copy and replace string index.md file - name: Copy and replace string index.md file run: cp ../README.md ./src/index.md - name: Copy image asset (logo) run: cp ../src/renderer/public/images/vutron-logo.webp ./src/public - name: Copy image asset (sample) run: cp ../.github/resources/vutron-sample.webp ./src/public # cache node_modules - 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- # install dependencies if the cache did not hit - name: Install dependencies if: steps.npm-cache.outputs.cache-hit != 'true' run: npm install - name: Find and Replace (logo) uses: jacobtomlinson/gha-find-replace@v3 with: find: "src/renderer/public/images/vutron-logo.webp" replace: "public/vutron-logo.webp" regex: false - name: Find and Replace (sample) uses: jacobtomlinson/gha-find-replace@v3 with: find: ".github/resources/vutron-sample.webp" replace: "public/vutron-sample.webp" regex: false # run build script - name: Build VitePress site run: npm run build # please check out the docs of the workflow for more details # @see https://github.com/crazy-max/ghaction-github-pages - 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 VitePress build_dir: docs/dist jekyll: false fqdn: 'vutron.jooy2.com' env: # @see https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}