Firestore to BigQuery Validation Workflow
This document provides a step-by-step guide to run the GitHub Actions workflow for validating Firestore data against BigQuery schema and data.
๐ Overviewโ
The GitHub Actions workflow titled:
<env> โ Firestore to BigQuery Enquiry Validation (Schema/Data)
is used to:
- โ Validate Firestore data against BigQuery schema.
- โ Validate Firestore data against BigQuery data.
๐ The same workflow handles both schema and data validation. You can select the mode using the
validationTypeinput.
๐งญ Navigate & Launch the Workflowโ
1. Open the GitHub Repositoryโ
Go to the visn-devops-scripts repository.
2. Access the Workflowโ
- Click the Actions tab.
- Select the workflow named:
<env> โ Firestore to BigQuery Enquiry Validation (Schema/Data)
3. Run the Workflowโ
- Click the Run workflow button (top-right).
- Select the target branch (e.g.,
sprint123-feature-narwhal). - A form will appear with input fields.

๐งพ Required Inputsโ
The form requires the following parameters:
| Parameter | Required | Description |
|---|---|---|
| Lease Company ID | โ | Firestore document ID for the leasing company. |
| Account ID | โ | The account ID. |
| Service Unit ID | โ | ID of the service unit related to the enquiry. |
| Enquiry ID | โ | Firestore document ID of the enquiry to validate. |
| Validation Type | โ | Select either schema or data based on what you want to validate. |
| Generate Schema if Fields Missing | โ ๏ธ Only for schema | When set to true, the script auto-generates missing fields BigQuery schema. If false, it only reports them. |
โ ๏ธ The "Generate Schema" field only appears when
validationTypeis set toschema.
โ Validation Modesโ
๐ 1. Schema Validation (validationType = schema)โ
This mode checks whether the Firestore document fields match the BigQuery schema.
You will be prompted with:
Generate schema if fields are missing?
Choose:
trueโ The workflow will automatically generate the missing fields schema.falseโ The workflow will only report missing fields without altering the schema.
๐ 2. Data Validation (validationType = data)โ
This mode checks that the values in Firestore documents exist in BigQuery and match exactly. It detects:
- Missing documents
- Mismatched values
โถ๏ธ Executing the Workflowโ
Once all input fields are completed:
- Click Run workflow again to start execution.
- GitHub Actions will queue and run the job with your selected parameters.
๐ Reviewing the Resultsโ
1. Open the Workflow Runโ
- Go to the Actions tab.
- Select the recent run of the workflow under your branch and environment.
2. Locate the Validation Stepโ
Find the step titled:
Run Firestore Validator based on selected validation type
3. Analyze the Logsโ
If validationType = schema:โ
- Logs will show:
- Logs will list any missing fields.
- Youโll see if fields were auto-generated (if enabled).

Auto-generated Schema:

If validationType = data:โ
-
Logs will show:
- Fields present in Firestore but missing in BigQuery.
- Mismatched values between Firestore and BigQuery rows.

๐ผ๏ธ UI Referenceโ
Below is an example of how the workflow input form appears in GitHub Actions:

Features visible in the UI:
- Workflow name with environment:
DEV โ Firestore to BigQuery Enquiry Validation (Schema/Data) - Manual branch selector (e.g.,
sprint123-feature-narwhal) - Input fields for:
- Lease Company ID
- Account ID
- Service Unit ID
- Enquiry ID
- Validation Type
- Schema generation toggle (for schema validation)
๐ก Tipsโ
- Always verify you're selecting the correct environment and branch before running.
๐ Notesโ
<env>refers to your environment:DEV,DEMO, orPROD.- Only users with appropriate permissions can trigger workflows and view logs.
- Schema generation is not available in
datamode.
Status: Approved
Category: Protected
Authored By: Jeyakumar Arunagiri on July 14, 2025