Skip to content

Commit e7c90f4

Browse files
authored
Merge branch 'main' into feat/tdg-redirect
2 parents 88e9829 + 1e652eb commit e7c90f4

30 files changed

+1044
-496
lines changed

.github/workflows/README.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# GitHub Workflows Overview (Hierarchical)
2+
3+
This folder contains GitHub Actions workflows. Below is a concise, hierarchical catalog: what each workflow does (plain English) and how it’s triggered or called.
4+
5+
## Database (DB)
6+
- [db-update.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/db-update.yml)
7+
- Description: updates the database schema (Liquibase). It does not apply content updates.
8+
- Called by:
9+
- [db-update-dev.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/db-update-dev.yml)
10+
- Description: Runs DB schema updates for DEV.
11+
- Trigger: Manual run.
12+
- [db-update-qa.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/db-update-qa.yml)
13+
- Description: Runs DB schema updates for QA.
14+
- Trigger: Manual run and call from release-qa.yml.
15+
- [db-update-prod.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/db-update-prod.yml)
16+
- Description: Runs DB schema updates for PROD.
17+
- Trigger: Manual run and call from release.yml.
18+
19+
- [db-update-content.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/db-update-content.yml)
20+
- Description: Applies DB content updates (data population/maintenance). Does not modify the DB schema.
21+
- Called by:
22+
- [catalog-update.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/catalog-update.yml)
23+
- Description: Update all the environment DB contents if there is a change in data in the [mobility-database-catalogs](https://github.com/MobilityData/mobility-database-catalogs) repository.
24+
- Trigger: Manual run or dispatch from mobility-database-catalog repository.
25+
26+
- [duplicate-prod-db.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/duplicate-prod-db.yml)
27+
- Description: Duplicates the prod DB contents to the QA environment.
28+
- Trigger: Manual or during a prerelease.
29+
30+
## Release
31+
- [release-qa.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/release-qa.yml)
32+
- Description: Coordinates a QA release.
33+
- Trigger: Manual or it's invoked each time a PR is merged.
34+
35+
- [release.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/release.yml)
36+
- Description: Coordinates a release to production.
37+
- Trigger: Invoked when a release is done.
38+
39+
- [assign_next_release_milestone.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/assign_next_release_milestone.yml)
40+
- Description: Assigns GitHub issues/PRs to the next release milestone.
41+
- Trigger: On PR merge or manual run.
42+
43+
## Web
44+
- [web-app-deployer.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/web-app-deployer.yml)
45+
- Description: build and deploy the web application.
46+
- Called by:
47+
- [web-dev.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/web-dev.yml)
48+
- Description: Deploys web app to DEV.
49+
- Trigger: Manual run.
50+
- [web-qa.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/web-qa.yml)
51+
- Description: Deploys web app to QA.
52+
- Trigger: Manual or call from release-qa.yml.
53+
- [web-prod.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/web-prod.yml)
54+
- Description: Deploys web app to Production.
55+
- Trigger: Manual or call from release.yml.
56+
- [web-pr.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/web-pr.yml)
57+
- Description: Builds/previews web app for pull requests.
58+
- Trigger: When a commit is added to a pull request for files that affects the web app.
59+
- [web-prototype.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/web-prototype.yml)
60+
- Description: Builds/deploys prototype web app.
61+
- Trigger: Manual run.
62+
63+
## API
64+
- [api-deployer.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/api-deployer.yml)
65+
- Description: Build and deploy the API service.
66+
- Called by:
67+
- [api-dev.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/api-dev.yml)
68+
- Description: Deploys API to DEV.
69+
- Trigger: Manual.
70+
- [api-qa.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/api-qa.yml)
71+
- Description: Deploys API to QA.
72+
- Trigger: - Trigger: Manual run and call from release-qa.yml.
73+
- [api-prod.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/api-prod.yml)
74+
- Description: Deploys API to PROD.
75+
- Trigger: Manual run and call from release.yml.
76+
77+
## Functions / Batch
78+
- [datasets-batch-deployer.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/datasets-batch-deployer.yml)
79+
- Description: Reusable workflow to deploy datasets batch Cloud Run/Functions.
80+
- Called by:
81+
- [datasets-batch-deployer-dev.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/datasets-batch-deployer-dev.yml)
82+
- Description: Deploys batch pipelines to DEV.
83+
- Trigger: Manual run or `workflow_call`.
84+
- [datasets-batch-deployer-qa.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/datasets-batch-deployer-qa.yml)
85+
- Description: Deploys batch pipelines to QA.
86+
- Trigger: Manual run or `workflow_call`.
87+
- [datasets-batch-deployer-prod.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/datasets-batch-deployer-prod.yml)
88+
- Description: Deploys batch pipelines to PROD.
89+
- Trigger: Manual run or `workflow_call`.
90+
91+
- [validator-update.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/validator-update.yml)
92+
- Description: Updates GBFS/GTFS validators deployments.
93+
- Trigger: Manual run or `workflow_call`.
94+
95+
## Misc / CI
96+
- [build-test.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/build-test.yml)
97+
- Description: Builds and runs unit tests for API/backend.
98+
- Trigger: When a commit is added to a PR and called by api-deployer.yml.
99+
100+
- [integration-tests.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/integration-tests.yml)
101+
- Description: Runs integration tests across services.
102+
- Trigger: Push/PR or manual run.
103+
104+
- [integration-tests-pr.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/integration-tests-pr.yml)
105+
- Description: Executes integration tests for pull requests.
106+
- Trigger: PR events.
107+
108+
- [schedule-load-test.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/schedule-load-test.yml)
109+
- Description: Scheduled load/performance tests.
110+
- Trigger: `schedule` (cron) and manual run.
111+
112+
- [typescript-generator-check.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/typescript-generator-check.yml)
113+
- Description: Verifies TypeScript types generation for API.
114+
- Trigger: Push/PR affecting OpenAPI or web types.
115+
116+
- [typescript-generator-gbfs-validator-types-check.yml](https://github.com/MobilityData/mobility-feed-api/blob/main/.github/workflows/typescript-generator-gbfs-validator-types-check.yml)
117+
- Description: Validates generated TS types for GBFS Validator.
118+
- Trigger: Push/PR affecting GBFS validator schema or types.
119+
120+
Notes
121+
- Workflows are loaded only if placed directly in `.github/workflows` with `.yml/.yaml` extension.
122+
- Reusable workflows are invoked with `uses: ./.github/workflows/<file>.yml` from caller workflows.

.github/workflows/db-update-dev.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ jobs:
2929
REGION: ${{ vars.MOBILITY_FEEDS_REGION }}
3030
DB_NAME: ${{ vars.DEV_POSTGRE_SQL_DB_NAME }}
3131
DB_ENVIRONMENT: ${{ vars.QA_MOBILITY_FEEDS_ENVIRONMENT }}
32-
# DRY_RUN is passed through directly from inputs
33-
DRY_RUN: ${{ inputs.DRY_RUN }}
32+
# DRY_RUN: use provided input if defined (workflow_dispatch/workflow_call); fallback to false on push events
33+
DRY_RUN: ${{ inputs.DRY_RUN || false }}
3434
secrets:
3535
DB_USER_PASSWORD: ${{ secrets.DEV_POSTGRE_USER_PASSWORD }}
3636
DB_USER_NAME: ${{ secrets.DEV_POSTGRE_USER_NAME }}
@@ -39,4 +39,3 @@ jobs:
3939
DB_GCP_MOBILITY_FEEDS_SA_KEY: ${{ secrets.QA_GCP_MOBILITY_FEEDS_SA_KEY }}
4040
# 1Password tokens
4141
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
42-

.github/workflows/db-update-schema.yml

Lines changed: 0 additions & 96 deletions
This file was deleted.

.github/workflows/db-update.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ jobs:
5353
steps:
5454
- name: Checkout repo
5555
uses: actions/checkout@v4
56-
with:
57-
ref: main
5856

5957
- name: Authenticate to Google Cloud QA/PROD
6058
uses: google-github-actions/auth@v2

docs/DatabaseCatalogAPI.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1268,7 +1268,7 @@ components:
12681268
description:
12691269
type: string
12701270
description: The description of the license.
1271-
example: This is the OBSD license.
1271+
example: This is the 0BSD license.
12721272
created_at:
12731273
description: The date and time the license was added to the database, in ISO 8601 date-time format.
12741274
type: string

docs/OperationsAPI.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1173,7 +1173,7 @@ components:
11731173
description:
11741174
type: string
11751175
description: The description of the license.
1176-
example: This is the OBSD license.
1176+
example: This is the 0BSD license.
11771177
created_at:
11781178
description: The date and time the license was added to the database, in ISO 8601 date-time format.
11791179
type: string

web-app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mobility-database",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"private": true,
55
"dependencies": {
66
"@emotion/react": "^11.13.0",
Lines changed: 57 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,54 @@
11
{
2-
"copyToClipboard": "Copy to clipboard",
3-
"copied": "Copied!",
4-
"name": "Name",
5-
"email": "Email",
6-
"organization": "Organization",
7-
"signOut": "Sign out",
8-
"unknown": "Unknown",
9-
"search": "Search",
10-
"feeds": "Feeds",
11-
"gtfsSchedule": "GTFS Schedule",
12-
"gtfsRealtime": "GTFS Realtime",
13-
"gtfs": "GTFS Schedule",
14-
"gtfs_rt": "GTFS Realtime",
15-
"gbfs": "GBFS",
16-
"gtfsRealtimeEntities": {
17-
"tripUpdates": "Trip Updates",
18-
"vehiclePositions": "Vehicle Positions",
19-
"serviceAlerts": "Service Alerts"
20-
},
21-
"loading": "Loading...",
22-
"download": "Download",
23-
"updated": "Updated",
24-
"errors": {
25-
"generic": "We are unable to complete your request at the moment."
26-
},
27-
"others": "others",
28-
"apiKey": "API Key",
29-
"httpHeader": "HTTP Header",
30-
"back": "Back",
31-
"and": "and",
32-
"next": "Next",
33-
"form": {
34-
"yes": "Yes",
35-
"no": "No",
36-
"required": "This field is required",
37-
"submit": "Submit",
38-
"select": "Select",
39-
"notSure": "Not sure"
40-
},
41-
"country": "Country",
42-
"chooseCountry": "Choose a country",
43-
"region": "Region",
44-
"municipality": "Municipality",
45-
"feedback": {
46-
"errors": "errors",
47-
"noErrors": "No errors",
48-
"noWarnings": "No warnings",
49-
"warnings": "warnings",
50-
"infoNotices": "info notices"
51-
},
2+
"copyToClipboard": "Copy to clipboard",
3+
"copied": "Copied!",
4+
"name": "Name",
5+
"email": "Email",
6+
"organization": "Organization",
7+
"signOut": "Sign out",
8+
"unknown": "Unknown",
9+
"search": "Search",
10+
"feeds": "Feeds",
11+
"gtfsSchedule": "GTFS Schedule",
12+
"gtfsRealtime": "GTFS Realtime",
13+
"gtfs": "GTFS Schedule",
14+
"gtfs_rt": "GTFS Realtime",
15+
"gbfs": "GBFS",
16+
"gtfsRealtimeEntities": {
17+
"tripUpdates": "Trip Updates",
18+
"vehiclePositions": "Vehicle Positions",
19+
"serviceAlerts": "Service Alerts"
20+
},
21+
"loading": "Loading...",
22+
"download": "Download",
23+
"updated": "Updated",
24+
"errors": {
25+
"generic": "We are unable to complete your request at the moment."
26+
},
27+
"others": "others",
28+
"apiKey": "API Key",
29+
"httpHeader": "HTTP Header",
30+
"back": "Back",
31+
"and": "and",
32+
"next": "Next",
33+
"form": {
34+
"yes": "Yes",
35+
"no": "No",
36+
"required": "This field is required",
37+
"submit": "Submit",
38+
"select": "Select",
39+
"notSure": "Not sure"
40+
},
41+
"country": "Country",
42+
"chooseCountry": "Choose a country",
43+
"region": "Region",
44+
"municipality": "Municipality",
45+
"feedback": {
46+
"errors": "errors",
47+
"noErrors": "No errors",
48+
"noWarnings": "No warnings",
49+
"warnings": "warnings",
50+
"infoNotices": "info notices"
51+
},
5252
"gtfsSpec": {
5353
"routeType": {
5454
"0": {
@@ -96,5 +96,11 @@
9696
"validators": "Validators",
9797
"gbfsValidator": "GBFS Validator",
9898
"gtfsValidator": "GTFS Validator",
99-
"gtfsRtValidator": "GTFS RT Validator"
99+
"gtfsRtValidator": "GTFS RT Validator",
100+
"start": "Start",
101+
"end": "End",
102+
"showLess": "Show less",
103+
"showMore": "Show {{count}} more",
104+
"moreInfo": "More Info",
105+
"license": "License"
100106
}

0 commit comments

Comments
 (0)