name: Generate Embeddings for Search on: push: branches: - master paths: - '.github/workflows/search.yml' - 'supabase/migrations/**' - 'apps/docs/**' workflow_dispatch: inputs: refresh: description: 'Refresh all pages' required: false type: boolean schedule: - cron: '0 0 * * *' concurrency: group: ${{ github.workflow }}-prod cancel-in-progress: false permissions: contents: read jobs: deploy: runs-on: blacksmith-4vcpu-ubuntu-2404 env: DOCS_GITHUB_APP_ID: ${{ secrets.SEARCH_GITHUB_APP_ID }} DOCS_GITHUB_APP_INSTALLATION_ID: ${{ secrets.SEARCH_GITHUB_APP_INSTALLATION_ID }} DOCS_GITHUB_APP_PRIVATE_KEY: ${{ secrets.SEARCH_GITHUB_APP_PRIVATE_KEY }} NEXT_PUBLIC_MISC_URL: ${{ secrets.NEXT_PUBLIC_MISC_URL}} NEXT_PUBLIC_MISC_ANON_KEY: ${{ secrets.NEXT_PUBLIC_MISC_ANON_KEY }} NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.SEARCH_SUPABASE_URL }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} SUPABASE_SECRET_KEY: ${{ secrets.SEARCH_SUPABASE_SERVICE_ROLE_KEY }} steps: - name: Check out repo uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false sparse-checkout: | apps/docs apps/www/.env.local.example examples packages supabase patches - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 name: Install pnpm with: run_install: false - name: Setup node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version-file: '.nvmrc' - name: Download dependencies run: pnpm install --frozen-lockfile - name: Update embeddings working-directory: ./apps/docs if: ${{ !inputs.refresh }} run: | pnpm run codegen:examples pnpm run embeddings pnpm run embeddings:nimbus - name: Refresh embeddings working-directory: ./apps/docs if: ${{ inputs.refresh }} run: | pnpm run codegen:examples pnpm run embeddings:refresh pnpm run embeddings:nimbus:refresh