Skip to content

Docs Search Sync

Docs Search Sync #219

name: Docs Search Sync
on:
workflow_dispatch: # Activate this workflow manually
schedule:
- cron: "0 1 * * *"
# Running this workflow multiple times in parallel can cause issues with files uploads and deletions.
concurrency:
group: docs-search-sync
cancel-in-progress: false
permissions:
contents: read
jobs:
docs-search-sync:
runs-on: ubuntu-latest
steps:
- name: Checkout Haystack repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22"
- name: Install Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.12"
- name: Install Docusaurus and build docs-website
working-directory: docs-website
run: |
npm install --ignore-scripts
npm rebuild sharp
npm run build
- name: Install script dependencies
# sniffio is needed because of https://github.com/deepset-ai/deepset-cloud-sdk/issues/286
# we pin pyrate-limiter due to https://github.com/deepset-ai/deepset-cloud-sdk/issues/295
run: |
python -m pip install --upgrade pip
pip install deepset-cloud-sdk sniffio requests "pyrate-limiter<4" --uploaded-prior-to=P1D
- name: Update new docs to Search pipeline and remove outdated docs
env:
DEEPSET_WORKSPACE_DOCS_SEARCH: ${{ secrets.DEEPSET_WORKSPACE_DOCS_SEARCH }}
DEEPSET_API_KEY_DOCS_SEARCH: ${{ secrets.DEEPSET_API_KEY_DOCS_SEARCH }}
run: python ./.github/utils/docs_search_sync.py
- name: Notify Slack on nightly failure
if: failure() && github.event_name == 'schedule'
uses: deepset-ai/notify-slack-action@a65def0c8bf91d6520286ab34280151c76a5a008 # v1.1.0
with:
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL_NOTIFICATIONS }}