Skip to content

Conversation

@garotm
Copy link
Member

@garotm garotm commented Oct 10, 2025

Note

Major v2.0.0 refactor adds structured exceptions/logging and token validation with expanded tests, updates CI/workflows, and refreshes packaging/config.

  • Core library (githubauthlib):
    • Introduce GitHubAuthError hierarchy (TokenNotFoundError, InvalidTokenError, PlatformNotSupportedError, CredentialHelperError) and export via __init__.
    • Add structured logging, token format validation, and credential output parsing helpers.
    • Change behavior to raise errors instead of printing; improve macOS/Windows/Linux credential retrieval paths.
    • Bump version to 2.0.0 and update public API exports.
  • Tests (tests/test_github_auth.py):
    • Expand coverage with invalid/empty token cases and assert specific exceptions.
  • CI/CD:
    • Add Mermaid workflow to render diagrams from *.md to PNG and commit results.
    • Update SonarCloud workflow to SonarSource/sonarqube-scan-action@v5.0.0.
    • Adjust main workflow: update Python matrix (drop 3.8, add 3.13), enable pip cache, tweak setup and lint/test steps.
  • Packaging & Config:
    • Update setup.py to version 2.0.0, require Python >=3.9, and classifiers for 3.12/3.13.
    • Refresh requirements.txt (newer pytest/pytest-cov, add wheel/build/flake8).
    • Add pyproject.toml with Black/Isort settings.
  • Docs:
    • Add VERSION-2.0.0-PLAN.md release plan.

Written by Cursor Bugbot for commit 5c66771. This will update automatically on new commits. Configure here.

garotm added 11 commits October 10, 2025 11:47
…ents

- Add comprehensive exception hierarchy (GitHubAuthError, TokenNotFoundError, etc.)
- Replace print() with structured logging throughout
- Add comprehensive type hints for better IDE support
- Implement robust token validation and sanitization
- Add input validation and error handling
- Achieve 100% test coverage with 19 comprehensive tests
- Fix all linting issues (flake8, black, isort)
- Update requirements.txt with latest dependencies
- Add VERSION-2.0.0-PLAN.md documentation

Breaking Changes:
- get_github_token() now raises specific exceptions instead of returning None
- All error handling now uses structured logging instead of print()
- Token validation is now strict and validates format

This is a major version bump due to breaking changes in error handling.
- Replace SonarSource/sonarcloud-github-action@master with SonarSource/sonarqube-scan-action@v5.0.0
- This resolves the deprecation warning in CI/CD pipeline
- Remove Python 3.6, 3.7, 3.8 support (EOL)
- Add Python 3.13 support
- Update CI matrix to test Python 3.9-3.13
- Remove duplicate dependency installation in CI
- Update setup.py classifiers to match supported versions

This reduces CI matrix from 15 jobs to 12 jobs while maintaining
compatibility with current Python versions.
- Remove Python 3.11 from CI matrix due to macOS compatibility issues
- Add verbose logging to identify CI failure points
- Add python --version check to verify Python setup
- Add echo statements for each CI step
- Add -v flag to pytest for verbose test output

This should resolve the macOS Python 3.11 setup failures and provide
better debugging information for any remaining CI issues.
- Downgrade actions/setup-python from v5 to v4 for stability
- Add pip caching to improve performance
- Simplify Python matrix to only 3.12 and 3.13 (most stable)
- Add pip --version check and verbose dependency installation logging
- Reduce CI matrix from 9 jobs to 6 jobs for faster debugging

This should resolve Ubuntu CI failures and provide better
error visibility for any remaining issues.
- Remove matrix strategy, test only Ubuntu with Python 3.12
- Add comprehensive environment debugging
- Add step-by-step logging with clear separators
- This will help identify exactly where the CI is failing
- Once working, we can gradually add back other OS/Python versions
- Fix Black formatting issues that were causing CI failures
- All files now pass Black formatting check
- Fix import sorting in __init__.py and test_github_auth.py
- All linting checks now pass locally
- This should resolve CI failures
- Fix import sorting in __init__.py and test_github_auth.py
- All linting checks now pass locally
- This should resolve CI failures
- Fix import sorting in __init__.py and test_github_auth.py
- All linting checks now pass locally
- This should resolve CI failures
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@garotm garotm self-assigned this Oct 10, 2025
@garotm garotm added the enhancement New feature or request label Oct 10, 2025
@garotm garotm added this to fleXRP Oct 10, 2025
@garotm garotm moved this to In Progress in fleXRP Oct 10, 2025
@sonarqubecloud
Copy link

Copy link
Member Author

@garotm garotm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVED

@garotm garotm merged commit 4746473 into main Oct 10, 2025
17 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in fleXRP Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants