Add React+Vite homepage, move Jekyll docs to guide/ #22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Homepage & Documentation | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths: | |
| - 'docs/**' | |
| - '.github/workflows/deploy-docs.yml' | |
| pull_request: | |
| branches: [ main ] | |
| paths: | |
| - 'docs/**' | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # ── Build React homepage (Vite) ── | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: docs/package-lock.json | |
| - name: Install npm dependencies | |
| run: npm ci | |
| working-directory: ./docs | |
| - name: Build homepage with Vite | |
| run: npm run build | |
| working-directory: ./docs | |
| # ── Build Jekyll docs ── | |
| - name: Setup Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.1' | |
| bundler-cache: true | |
| working-directory: ./docs/guide | |
| - name: Setup Pages | |
| id: pages | |
| uses: actions/configure-pages@v4 | |
| - name: Build docs with Jekyll | |
| run: | | |
| cd docs/guide | |
| bundle exec jekyll build --baseurl "/MER-Factory/docs" | |
| env: | |
| JEKYLL_ENV: production | |
| # ── Merge outputs ── | |
| - name: Merge Vite + Jekyll outputs | |
| run: | | |
| # Vite output is in docs/dist/ (served at /MER-Factory/) | |
| # Jekyll output is in docs/guide/_site/ (served at /MER-Factory/docs/) | |
| mkdir -p docs/dist/docs | |
| cp -r docs/guide/_site/* docs/dist/docs/ | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: ./docs/dist | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |