Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,47 @@ jobs:
working-directory: oba/config/template_renderer
run: go test ./...

bundle_script:
name: build_bundle.sh unit tests
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Guard - oba and bundler scripts identical
run: diff oba/build_bundle.sh bundler/build_bundle.sh

- name: Run script tests
run: bash bin/build_bundle_test.sh

bundle_inputs_integration:
name: Bundle inputs integration (real builder)
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Build oba image
run: |
docker buildx build \
--load \
-t oba-image:latest \
./oba

- name: Run integration test
timeout-minutes: 20
run: |
chmod +x bin/bundle_inputs_integration_test.sh bin/testdata/build_bundle/make_fixtures.sh
bash bin/bundle_inputs_integration_test.sh

image:
name: Build Docker Image
runs-on: ubuntu-latest
Expand Down Expand Up @@ -52,6 +93,11 @@ jobs:
services:
name: Services with Bundler
runs-on: ubuntu-latest
# Build against a small committed GTFS fixture served on the compose network
# instead of the live Unitrans feed, so this job is deterministic. See
# docker-compose.ci.yml and bin/testdata/services/make_services_fixture.sh.
env:
COMPOSE_FILE: docker-compose.yml:docker-compose.ci.yml
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ You can find the latest published Docker images on Docker Hub:
* `JDBC_PASSWORD` - The password for your database.
* GTFS (Optional, required only when using `oba_app` independently)
* `GTFS_URL` - The URL to the GTFS feed you want to use.
* `BUNDLE_INPUTS_URL` - URL to a bundle-inputs.json manifest for multi-input mode; specifies per-feed zips, agency IDs, and optional stop consolidation mapping. Mutually exclusive with GTFS_URL, GTFS_ZIP_FILENAME, and STOP_CONSOLIDATION_URL.
* `STOP_CONSOLIDATION_URL` - (Single-zip mode only) URL to a stop-consolidation mapping file applied during bundle build. Mutually exclusive with BUNDLE_INPUTS_URL.
* GTFS-RT Support (Optional)
* `TZ` - The timezone for the server. Ensure that the server's timezone matches the timezone specified in your static GTFS `agency.txt` file. The timezone format is the IANA standard, and [a full list of timezones can be found on Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
* `GTFS_RT_FEEDS` - Preferred for configuring one OR many GTFS-RT feeds. A JSON array of feed objects; each object may contain `tripUpdatesUrl`, `vehiclePositionsUrl`, `alertsUrl`, `refreshInterval`, `agencyIds` (array), `feedApiKey`, and `feedApiValue`. Example: `[{"tripUpdatesUrl":"https://a/trips","agencyIds":["unitrans"]},{"vehiclePositionsUrl":"https://b/veh","agencyIds":["kcm"]}]`. When set, it takes precedence over the single-feed variables below.
Expand Down
Loading
Loading