feat: implement semantic versioning and fix upstream sync + Slack notifications #35
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.
Description
This PR implements comprehensive improvements to CARTO's LiteLLM fork versioning, notification system, and upstream sync reliability.
Summary of Changes
1. CARTO Semantic Versioning Strategy
v{upstream}-carto.{MAJOR}.{MINOR}.{PATCH}v1.79.1-carto.1.7.1(upstream v1.79.1, CARTO version 1.7.1)2. Version Calculation Script
.github/scripts/calculate_carto_version.sh3. Release Workflow Improvements
semver-generatordependencycartodb-opschannel after releases4. Sync Workflow Slack Fixes
5. Upstream Commit History Preservation (New)
git reset --hardin workflow broke commit history lineagegit reset --hardfallback completely15076adb- fix: preserve upstream commit history in sync workflow6. Slack Notification Enhancements
C09K0M5MP7V(cartodb-ops)7. Documentation
CARTO_CLAUDE.mdType of change
Acceptance
Version Calculation
.github/scripts/calculate_carto_version.sh "" "1.79.1"to verify initial version calculationv1.79.1-carto.1.7.1Release Workflow
Sync Workflow
Commit History Preservation
https://github.com/CartoDB/litellmgit rev-list --count origin/main..upstream/main(should be 0 or very small)Documentation
CARTO_CLAUDE.mdversioning sectionContext
Motivation:
1.74.336Design Decisions:
v1.79.1-carto.1.7.1(7 features, 9 fixes)Basic checklist
Testing Notes
Script validation:
YAML validation: Both workflows validated successfully with Python yaml parser ✓
Commit history fix: Logic verified by code review. Will be validated end-to-end on next sync run.
End-to-end validation: Will be completed when next CARTO release and sync are triggered.
SLACK_KEY secret: Must be verified in repository settings before Slack notifications will work.
Related Files
.github/scripts/calculate_carto_version.sh(NEW) - Version calculator.github/workflows/carto_release.yaml- Release workflow with new versioning.github/workflows/carto-upstream-sync.yml- Sync workflow with Slack fixes + history preservationCARTO_CLAUDE.md- Versioning strategy documentation~/Documents/claude-projects/litellm-upstream-sync/commit-history-preservation.md- Technical deep diveTechnical Details: Commit History Fix
Before (Broken):
Result: GitHub doesn't recognize commits as shared (shows 3000+ behind)
After (Fixed):
Result: All upstream commits included with original SHAs → GitHub recognizes shared history
Next sync will automatically repair the broken history (brings in all 3000 missing commits with proper lineage)