-
Notifications
You must be signed in to change notification settings - Fork 5
Implement uv dependency management and versioning with bump-my-version #321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement uv dependency management and versioning with bump-my-version #321
Conversation
…version Replace poetry-based dependency and version management: - Add uv documentation - Remove poetry references - Add new version-and-build.yml workflow - Remove old build-pipeline.yml and release-created.yml workflows - Add bump_develop_after_release.sh script for collision prevention - Create versioning documentation for Git Flow process - Update pyproject.toml for uv and bump-my-version configuration - Update README with uv guidance and versioning information
Added entry for uv dependency management and versioning.
Simplified branch patterns for pull requests.
- Restructure GitHub Actions workflows for better organization and efficiency - Add dedicated PR validation workflow (pr-checks.yml) with security scanning, linting, type checks, and CHANGELOG validation - Create reusable workflows for unit tests, integration tests, and Docker builds - Add publish workflow for release automation to PyPI - Implement auto-bump workflow for version management after release branch creation - Modify pull request workflows for both internal and external contributors - Enhance version bumping strategy - Only bump versions on PR merges, not direct pushes - Add scripts for automated version management (version_bump.sh, verify_tag.sh) - Separate version bumping from build/publish steps - Improve testing workflows - Rename and consolidate test workflows (unit-tests.yml, integration-tests.yml) - Add timeout configurations and dependency caching - Use frozen dependencies for reproducible builds - Add comprehensive documentation - Create CI-CD-README.md with detailed workflow explanations - Add CI_CD_ARCHITECTURE_DIAGRAM.md with Mermaid diagrams - Update HOW_TO_RELEASE.md with additional info about release process - Publishing improvements - Separate publishing to Test PyPI (release branches) and production PyPI (releases) - Add Docker image building for different environments (sit, uat, ops) - Implement venue-based deployments - Configuration updates - Update dependabot configuration with better grouping and labeling - Enhance PR template with additional checklist items - Remove poetry.lock (migrated to uv)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #321 +/- ##
========================================
Coverage 90.63% 90.63%
========================================
Files 9 9
Lines 470 470
========================================
Hits 426 426
Misses 44 44
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Fix diagram error
Merge VERSIONING.md into CI-CD-README.md and streamline docs/README.md to eliminate confusion from having three overlapping documentation files.
…com/nasa/stitchee into feat/issue-295-uv-instead-of-poetry
| - name: Upload coverage reports to Codecov | ||
| uses: codecov/codecov-action@v5 | ||
| with: | ||
| token: ${{ secrets.CODECOV_TOKEN }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no sure if it's case sensitive or not? CODECOV_TOKEN is lowercase in line 10
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure this is fine, i.e., they are not case sensitive
| - name: Upload coverage reports to Codecov | ||
| uses: codecov/codecov-action@v5 | ||
| with: | ||
| token: ${{ secrets.CODECOV_TOKEN }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure this is fine, i.e., they are not case sensitive
|
pre-commit.ci autofix |
|
@ank1m, look good to you for merging? |
|
@danielfromearth Do you know why snyk fails? Otherwise looks good to merge! |
|
Okay, merging! |
Overview
Replace
poetry-based dependency and version management withuvandbump-my-version, and restructure GitHub Actions CI/CD workflows for improved automation and deployment processes.GitHub Issue: #295, #302, #317
Description
Dependency & Version Management Migration
uvfor faster dependency managementbump-my-versionfor automated semantic versioningpyproject.tomlconfiguration and removepoetry.lockCI/CD Workflow Restructuring
New Workflows:
pr-checks.yml- PR validation with security scanning, linting, type checking, unit tests, and CHANGELOG validationpublish.yml- Automated PyPI publishing and Docker builds on GitHub releasesauto-bump-develop.yml- Auto-bumps develop to next minor version when release branch is createdpull-request-received.yml- Handles external fork PRs (unit tests only, no secrets)docker-build.yml,unit-tests.yml,integration-tests.yml- Reusable workflow componentsEnhanced
version-and-build.yml:Removed:
build-pipeline.yml,release-created.yml,pull_request.ymlVersion Bumping & Publishing Strategy
Version Bumping:
Publishing:
uattag)ops,latest, version tags)sittag)Documentation & Scripts
New Documentation:
CI-CD-README.md- Comprehensive developer guide with workflows, branching strategy, and troubleshootingCI_CD_ARCHITECTURE_DIAGRAM.md- Mermaid diagrams showing complete CI/CD architectureHOW_TO_RELEASE.md- Updated release process with auto-bump detailsScripts:
version_bump.sh,verify_tag.sh,create-netrcConfiguration: Updated Dependabot grouping and PR template checklist
Local test steps
Test suite passes with uv, version bumping scripts validated, linting and type checks pass
PR Acceptance Checklist
CHANGELOG.mdupdated📚 Documentation preview 📚: https://stitchee--321.org.readthedocs.build/en/321/