Skip to content

feat: restructure repository into multi-artifact layout#60

Draft
ArthurTonial wants to merge 2 commits intomainfrom
prepare-multiple-artifacts
Draft

feat: restructure repository into multi-artifact layout#60
ArthurTonial wants to merge 2 commits intomainfrom
prepare-multiple-artifacts

Conversation

@ArthurTonial
Copy link
Copy Markdown
Member

@ArthurTonial ArthurTonial commented Apr 16, 2026

Description

Restructures the repository into the multi-artifact layout. All source code and tests are moved from src/ into packages/core/.

Key changes:

  • Moved all source modules (auditlog, auditlog_ng, destination, objectstore, secret_resolver, telemetry, ias, aicore) from src/sap_cloud_sdk/core/ and src/sap_cloud_sdk/ into packages/core/sap_cloud_sdk/
  • Moved all tests into packages/core/tests/
  • Fixed all import paths (sap_cloud_sdk.core.*sap_cloud_sdk.*) across source modules and test patch strings
  • Added packages/core/pyproject.toml as the authoritative build config for the core package
  • Moved src/buf/packages/core/buf/ (buf-generated validate_pb2 files required by protovalidate)
  • Updated Makefile to target the new layout
  • Deleted stale src/ tree

Related Issue

Closes #<issue_number>

Type of Change

Please check the relevant option:

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactoring
  • Dependency update

How to Test

# Build the core package
cd packages/core
uv build

# Run unit tests
uv run pytest -m "not integration"

Expected: wheel and sdist created successfully, 982 tests pass.

Checklist

Before submitting your PR, please review and check the following:

  • I have read the Contributing Guidelines
  • I have verified that my changes solve the issue
  • I have added/updated automated tests to cover my changes
  • All tests pass locally
  • I have verified that my code follows the Code Guidelines
  • I have updated documentation (if applicable)
  • I have added type hints for all public APIs
  • My code does not contain sensitive information (credentials, tokens, etc.)
  • I have followed Conventional Commits for commit messages

Breaking Changes

If this PR introduces breaking changes, please describe:

  • What breaks
  • Migration path for users
  • Alternative approaches considered

Additional Notes

  • The src/ directory is fully removed. The root pyproject.toml still exists but will be replaced with a uv workspace config in a follow-up PR.
  • CI/CD workflows still reference src/ paths and will be updated in a follow-up PR once the base branch is merged.

@ArthurTonial ArthurTonial changed the title refactor: refactor code structure for improved readability and mainta… feat: restructure repository into multi-artifact layout Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant