Skip to content

docs

docs #45

Workflow file for this run

name: docs
on:
pull_request:
branches: [main]
paths:
- docs/**
push:
branches: [main]
paths:
- docs/**
workflow_dispatch:
permissions:
contents: write
jobs:
test-deploy:
if: github.event_name != 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
sparse-checkout: docs
path: src-staging
- name: Move docs
run: |
shopt -s dotglob
mv src-staging/docs/* .
- uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Test build website
run: yarn build
deploy-precheck:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' }}
outputs:
gh-deploy-key: ${{ steps.gh-deploy-key.outputs.defined }}
steps:
- id: gh-deploy-key
env:
GH_PAGES_DEPLOY: ${{ secrets.GH_PAGES_DEPLOY }}
if: "${{ env.GH_PAGES_DEPLOY != '' }}"
run: echo "::set-output name=defined::true"
deploy:
needs: [deploy-precheck]
if: ${{ needs.deploy-precheck.outputs.gh-deploy-key == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
sparse-checkout: docs
path: src-staging
- name: Move docs
run: |
shopt -s dotglob
mv src-staging/docs/* .
- uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn
- uses: webfactory/ssh-agent@v0.5.0
with:
ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}
- name: Deploy to GitHub Pages
env:
USE_SSH: true
run: |
export COCOINDEX_DOCS_POSTHOG_API_KEY=${{ secrets.COCOINDEX_DOCS_POSTHOG_API_KEY }}
export COCOINDEX_DOCS_MIXPANEL_API_KEY=${{ secrets.COCOINDEX_DOCS_MIXPANEL_API_KEY }}
git config --global user.email "cocoindex.io@gmail.com"
git config --global user.name "CocoIndex"
yarn install --frozen-lockfile
yarn deploy