Developer onboarding script for local#194
Open
gloskull wants to merge 2 commits into
Open
Conversation
… schema constraints Co-authored-by: gloskull <189399494+gloskull@users.noreply.github.com>
…41272683364285151 Add Developer Onboarding Script for Local Development Setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This contribution implements a unified local onboarding script onboard.sh at the repository root and resolves TimescaleDB hypertable unique constraint issues to provide developers with a smooth, automated setup experience.
Key Changes:
Automated setup script ./onboard.sh at the repo root. This script checks system dependencies (docker, cargo), starts TimescaleDB and Soroban RPC standalone dev containers using docker-compose, waits for health checks, and applies database migrations in the correct order.
Structured migration streaming in onboard.sh which streams the project's SQL migrations from src/soroban/sync.sql, src/time_series/compress.sql, and src/settlement/schema.sql cleanly into the TimescaleDB container instead of hardcoding any schemas in the bash script.
Updated Docker Compose configuration to utilize stellar/quickstart for local Soroban RPC development.
Corrected TimescaleDB hypertable schema constraint in src/time_series/compress.sql by composite-including recorded_at in telemetry_events' primary key and unique constraints, preventing database initialization failures.
Confirmed that the setup script runs flawlessly and that the entire Rust backend test suite passes successfully.
Closes #139