| name: Deploy Site |
|
|
| on: |
| release: |
| types: [published] |
| push: |
| branches: [main] |
| paths: |
| - 'website/**' |
| - 'skills/**' |
| - 'optional-skills/**' |
| - '.github/workflows/deploy-site.yml' |
| workflow_dispatch: |
|
|
| permissions: |
| pages: write |
| id-token: write |
|
|
| concurrency: |
| group: pages |
| cancel-in-progress: false |
|
|
| jobs: |
| deploy-vercel: |
| if: github.event_name == 'release' |
| runs-on: ubuntu-latest |
| steps: |
| - name: Trigger Vercel Deploy |
| run: curl -X POST "${{ secrets.VERCEL_DEPLOY_HOOK }}" |
|
|
| deploy-docs: |
| if: github.repository == 'NousResearch/hermes-agent' |
| runs-on: ubuntu-latest |
| environment: |
| name: github-pages |
| url: ${{ steps.deploy.outputs.page_url }} |
| steps: |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 |
|
|
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 |
| with: |
| node-version: 20 |
| cache: npm |
| cache-dependency-path: website/package-lock.json |
|
|
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 |
| with: |
| python-version: '3.11' |
|
|
| - name: Install PyYAML for skill extraction |
| run: pip install pyyaml==6.0.2 httpx==0.28.1 |
|
|
| - name: Extract skill metadata for dashboard |
| run: python3 website/scripts/extract-skills.py |
|
|
| - name: Regenerate per-skill docs pages + catalogs |
| run: python3 website/scripts/generate-skill-docs.py |
|
|
| - name: Build skills index (if not already present) |
| env: |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| run: | |
| if [ ! -f website/static/api/skills-index.json ]; then |
| python3 scripts/build_skills_index.py || echo "Skills index build failed (non-fatal)" |
| fi |
| |
| - name: Install dependencies |
| run: npm ci |
| working-directory: website |
|
|
| - name: Build Docusaurus |
| run: npm run build |
| working-directory: website |
|
|
| - name: Stage deployment |
| run: | |
| mkdir -p _site/docs |
| cp -r website/build/* _site/docs/ |
| |
| - name: Upload artifact |
| uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa |
| with: |
| path: _site |
|
|
| - name: Deploy to GitHub Pages |
| id: deploy |
| uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e |
|
|