Skip to content

Commit 5594e73

Browse files
authored
Trigger Typesense Schema Update Function on Deploy (#2044)
* Add Typesense schema update to each github deploy and adding more logs * Add more comments
1 parent 555727f commit 5594e73

4 files changed

Lines changed: 21 additions & 1 deletion

File tree

.github/workflows/deploy-backend-dev.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,12 @@ jobs:
2929
GCP_SA_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
3030
ASSEMBLY_API_KEY: ${{ secrets.ASSEMBLY_API_KEY }}
3131
PROJECT_ID: digital-testimony-dev
32+
33+
# Update Typesense Schema
34+
- uses: google-github-actions/auth@v3
35+
with:
36+
credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
37+
- uses: google-github-actions/setup-gcloud@v3
38+
- name: Update Typesense Schema
39+
run: |
40+
gcloud pubsub topics publish --project=digital-testimony-dev checkSearchIndexVersion --message='{"check": true}'

.github/workflows/deploy-prod.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,12 @@ jobs:
2323
GCP_SA_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
2424
ASSEMBLY_API_KEY: ${{ secrets.ASSEMBLY_API_KEY }}
2525
PROJECT_ID: digital-testimony-prod
26+
27+
# Update Typesense Schema
28+
- uses: google-github-actions/auth@v3
29+
with:
30+
credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
31+
- uses: google-github-actions/setup-gcloud@v3
32+
- name: Update Typesense Schema
33+
run: |
34+
gcloud pubsub topics publish --project=digital-testimony-prod checkSearchIndexVersion --message='{"check": true}'

functions/src/search/SearchIndexer.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ export class SearchIndexer {
4848
const { alias } = this.config
4949
const isCollectionUpToDate =
5050
this.collectionName === (await this.getCurrentCollectionName())
51+
console.log(`Index for alias ${alias} up to date: ${isCollectionUpToDate}`)
5152
if (!isCollectionUpToDate) {
53+
console.log(`Scheduling upgrade for alias ${alias}`)
5254
const upgradeDoc = db.doc(SearchIndexer.upgradePath(alias))
5355
await upgradeDoc.delete()
5456
await upgradeDoc.create({

functions/src/search/checkSearchIndexVersion.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { runWith } from "firebase-functions"
22
import { getRegisteredConfigs } from "./config"
33
import { SearchIndexer } from "./SearchIndexer"
44

5-
/** Schedules index upgrades for each config if necessary. Requires a message
5+
/** Schedules index upgrades for each config/alias(bills/hearing/testimony) if necessary. Requires a message
66
* wtih content `{ "check": true}` */
77
export const checkSearchIndexVersion = runWith({
88
secrets: ["TYPESENSE_API_KEY"]

0 commit comments

Comments
 (0)