ci: wiki-search should skip optional backend sync when secrets are unset #38

Closed
opened 2026-03-13 15:08:37 +00:00 by pokebedrock-bot · 2 comments
pokebedrock-bot commented 2026-03-13 15:08:37 +00:00 (Migrated from github.com)

Summary

The scheduled/push wiki-search workflow on main currently fails whenever WIKI_SEARCH_SYNC_URL / WIKI_SEARCH_SYNC_TOKEN are unset, even though search-index generation itself succeeds.

Evidence

  • Recent failing run on main: wiki-search run 23039503869
  • Failure happens in Sync search index via website backend after the build finishes:
    • Wrote 4590 records to .../build/search-index.json
    • MEILISEARCH_URL/KEY not set. Skipping remote sync.
    • then the workflow hard-fails on:
      • test -n "$WIKI_SEARCH_SYNC_URL"
      • test -n "$WIKI_SEARCH_SYNC_TOKEN"
  • Current workflow file: .github/workflows/search-index.yml
    • unconditionally runs the backend sync curl step
    • uploads artifacts only after that step, so failed syncs also lose the generated artifacts

Impact

  • The daily scheduled search-index workflow is red on main even when content generation is healthy.
  • Contributors lose confidence in workflow status because an optional deployment integration is treated as mandatory.
  • Generated index artifacts are harder to inspect/debug because the upload step is skipped on failure.

Acceptance criteria

  • wiki-search still builds build/search-index.json, build/search-indices.json, and the generated manifests on every run.
  • The backend sync step is skipped cleanly when WIKI_SEARCH_SYNC_URL and/or WIKI_SEARCH_SYNC_TOKEN are not configured.
  • The workflow logs a clear message when sync is skipped for missing secrets.
  • Generated search artifacts are uploaded even when backend sync is skipped.
  • If secrets are present, the backend sync still runs exactly once with the existing POST behavior.

Notes

  • There is already an open implementation PR for this exact gap: #33.
## Summary The scheduled/push `wiki-search` workflow on `main` currently fails whenever `WIKI_SEARCH_SYNC_URL` / `WIKI_SEARCH_SYNC_TOKEN` are unset, even though search-index generation itself succeeds. ## Evidence - Recent failing run on `main`: `wiki-search` run `23039503869` - Failure happens in `Sync search index via website backend` after the build finishes: - `Wrote 4590 records to .../build/search-index.json` - `MEILISEARCH_URL/KEY not set. Skipping remote sync.` - then the workflow hard-fails on: - `test -n "$WIKI_SEARCH_SYNC_URL"` - `test -n "$WIKI_SEARCH_SYNC_TOKEN"` - Current workflow file: `.github/workflows/search-index.yml` - unconditionally runs the backend sync curl step - uploads artifacts only after that step, so failed syncs also lose the generated artifacts ## Impact - The daily scheduled search-index workflow is red on `main` even when content generation is healthy. - Contributors lose confidence in workflow status because an optional deployment integration is treated as mandatory. - Generated index artifacts are harder to inspect/debug because the upload step is skipped on failure. ## Acceptance criteria - `wiki-search` still builds `build/search-index.json`, `build/search-indices.json`, and the generated manifests on every run. - The backend sync step is skipped cleanly when `WIKI_SEARCH_SYNC_URL` and/or `WIKI_SEARCH_SYNC_TOKEN` are not configured. - The workflow logs a clear message when sync is skipped for missing secrets. - Generated search artifacts are uploaded even when backend sync is skipped. - If secrets are present, the backend sync still runs exactly once with the existing POST behavior. ## Notes - There is already an open implementation PR for this exact gap: #33.
pokebedrock-bot commented 2026-04-16 11:08:10 +00:00 (Migrated from github.com)

Re-checked this against main today and it is already fixed.

Evidence on current main (106ac9d):

  • .github/workflows/search-index.yml now gates the backend sync step with if: ${{ secrets.WIKI_SEARCH_SYNC_URL != && secrets.WIKI_SEARCH_SYNC_TOKEN != }}\n- The workflow logs a dedicated skip message when either secret is unset\n- Artifact upload now runs under if: ${{ always() }} so generated search outputs are still preserved\n- PR #33 merged on 2026-03-31 and implemented the exact acceptance criteria captured here\n\nClosing this as resolved on main.
Re-checked this against `main` today and it is already fixed. Evidence on current `main` (`106ac9d`): - `.github/workflows/search-index.yml` now gates the backend sync step with `if: ${{ secrets.WIKI_SEARCH_SYNC_URL != && secrets.WIKI_SEARCH_SYNC_TOKEN != }}`\n- The workflow logs a dedicated skip message when either secret is unset\n- Artifact upload now runs under `if: ${{ always() }}` so generated search outputs are still preserved\n- PR #33 merged on 2026-03-31 and implemented the exact acceptance criteria captured here\n\nClosing this as resolved on `main`.
pokebedrock-bot commented 2026-04-16 11:08:11 +00:00 (Migrated from github.com)

Resolved on main by merged PR #33; current workflow already skips optional backend sync when secrets are unset and still uploads artifacts.

Resolved on `main` by merged PR #33; current workflow already skips optional backend sync when secrets are unset and still uploads artifacts.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pokebedrock/wiki#38
No description provided.