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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Install Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: "22" - name: Install Python uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.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 }}