Skip to content

πŸ”Ž Index Semantic Search (podcasts) #81

πŸ”Ž Index Semantic Search (podcasts)

πŸ”Ž Index Semantic Search (podcasts) #81

name: πŸ”Ž Index Semantic Search (podcasts)
on:
workflow_dispatch:
schedule:
# 3am Mountain Time is 10:00 UTC during standard time.
# This will drift by one hour during daylight saving time.
- cron: "0 10 * * *"
jobs:
index:
name: πŸ”Ž Index Semantic Search (podcasts)
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: βŽ” Setup node
uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
cache-dependency-path: package-lock.json
- name: πŸ“₯ Install site deps
run: npm ci --workspace=kentcdodds.com --include-workspace-root
- name: πŸ”Ž Index podcast content
run: node other/semantic-search/index-podcasts.ts
env:
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_AI_GATEWAY_ID: ${{ secrets.CLOUDFLARE_AI_GATEWAY_ID }}
CLOUDFLARE_AI_EMBEDDING_GATEWAY_ID: ${{ secrets.CLOUDFLARE_AI_EMBEDDING_GATEWAY_ID }}
CLOUDFLARE_AI_GATEWAY_AUTH_TOKEN: ${{ secrets.CLOUDFLARE_AI_GATEWAY_AUTH_TOKEN }}
CLOUDFLARE_VECTORIZE_INDEX: ${{ secrets.CLOUDFLARE_VECTORIZE_INDEX }}
CLOUDFLARE_AI_EMBEDDING_MODEL: ${{ secrets.CLOUDFLARE_AI_EMBEDDING_MODEL }}
R2_BUCKET: ${{ secrets.R2_BUCKET }}
TRANSISTOR_API_SECRET: ${{ secrets.TRANSISTOR_API_SECRET }}
CALL_KENT_PODCAST_ID: ${{ secrets.CALL_KENT_PODCAST_ID }}
SIMPLECAST_KEY: ${{ secrets.SIMPLECAST_KEY }}
CHATS_WITH_KENT_PODCAST_ID: ${{ secrets.CHATS_WITH_KENT_PODCAST_ID }}
sync-search-worker:
needs: index
uses: ./.github/workflows/sync-search-worker.yml
secrets: inherit