name: Build and Deploy to Github Pages on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: push: branches: - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: write jobs: build: name: Build CodeBase runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18 - name: Install dependencies uses: Borales/actions-yarn@v4.2.0 with: cmd: install dir: vitepress - name: Build project run: cd vitepress && yarn && yarn build - name: Upload production-ready build files uses: actions/upload-artifact@v2 with: name: production-files path: ./vitepress/docs/.vitepress/dist deploy: runs-on: ubuntu-latest name: Deploy needs: [build] steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Create Directory run: mkdir -p dist - name: Download artifact uses: actions/download-artifact@v2 with: name: production-files path: ./dist - name: Setup node uses: actions/setup-node@v3 with: node-version: 18 - run: npm install -g conventional-changelog-conventionalcommits - run: npm install -g semantic-release@v19.0.5 - run: npm install -g @semantic-release/exec - run: npm install -g @semantic-release/git - run: npm install -g @semantic-release/release-notes-generator - run: npm install -g @semantic-release/changelog - run: npm install -g @semantic-release/github - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: semantic-release - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3.9.2 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./dist cname: docs.eyetrackvr.dev allow_empty_commit: true full_commit_message: ${{ github.event.head_commit.message }} cleanup: name: Cleanup actions needs: - deploy runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: "♻️ remove build artifacts" uses: geekyeggo/delete-artifact@v1 with: name: production-files