Skip to content

refactor: consolidate tooling #31

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

Merged
merged 5 commits into from
Jul 15, 2025

Conversation

a-klos
Copy link
Member

@a-klos a-klos commented Jul 3, 2025

This pull request re-organizes the repository into a monorepo structure, consolidating services and libraries under unified directories and updating references accordingly. It also removes submodule dependencies and adjusts Dockerfiles to align with the new structure.

Repository Reorganization

  • .gitmodules: Removed submodule definitions for rag-infrastructure and rag-core-library, as these components are now integrated into the monorepo.
  • README.md: Updated documentation to reflect the new monorepo structure, including reorganized components and updated paths to services and libraries. Added a detailed directory structure overview. [1] [2] [3]

Dockerfile Updates

General Updates Across Services:

  • Updated ENV POETRY_VIRTUALENVS_PATH to reflect new paths within the services directory for all Dockerfiles. [1] [2] [3] [4]
  • Adjusted COPY commands to reference libraries and service files under the new libs and services directories. [1] [2] [3] [4]
  • Updated WORKDIR paths to match the new structure. [1] [2] [3] [4]
  • Modified log file paths to align with the new directory structure. [1] [2] [3] [4]

Service-Specific Updates:

Removal of Submodule References

  • rag-core-library and rag-infrastructure: Removed submodule commit references, as these components are now integrated directly into the monorepo. [1] [2]

a-klos added 4 commits July 2, 2025 12:10
…o migration

- Update all Dockerfiles to use new monorepo paths (services/, libs/)
- Copy missing Dockerfile from rag-core-library to tools/
- Copy root pyproject.toml and poetry.lock files from rag-core-library
- Copy GitHub PR template
- Update all POETRY_VIRTUALENVS_PATH variables for new structure

All services now correctly build with the new monorepo structure.
- Update all Dockerfiles to use new monorepo paths
- Copy missing files from submodules (Dockerfile, configs, PR template)
- Update README.md to reflect new monorepo structure
- Add comprehensive monorepo organization documentation
- Update component descriptions with new service/library paths

All services now properly reference libs/ directory and use services/ paths.
The monorepo is fully functional with consolidated shared libraries.
- Remove rag-core-library and rag-infrastructure submodule directories
- Delete .gitmodules file (no longer needed)
- Remove update-submodules.sh script
- Clean up duplicate README file

The repository is now a complete monorepo without any submodule dependencies.
- Introduced a new pyproject.toml file to configure Flake8, Black, Isort, Pylint, and Poetry for the admin_api_lib.
- Set up exclusions and rules for code quality tools to maintain consistency across the project.
- Added dependencies for various Flake8 plugins to enhance linting capabilities.

chore: add release configuration for semantic-release

- Created a release.config.js file to configure semantic-release for automated versioning and changelog generation.
- Set up plugins for commit analysis and release notes generation based on conventional commits.

refactor: remove rag-core-makefile

- Deleted the rag-core-makefile as its functionality is now handled by the new pyproject.toml and semantic-release configuration.
This pull request primarily focuses on restructuring the project to
enhance consistency and simplify the codebase. Key changes include
transitioning paths from `rag-core-library` to `libs`, updating Docker
build arguments, modifying workflows, and revising documentation to
reflect the new structure.

### Project Restructuring

*
[`.vscode/launch.json`](diffhunk://#diff-bd5430ee7c51dc892a67b3f2829d1f5b6d223f0fd48b82322cfd45baf9f5e945L37-R47):
Updated `localRoot` and `remoteRoot` mappings to replace
`rag-core-library` with `libs` for various components, ensuring
consistency across debugger configurations.
[[1]](diffhunk://#diff-bd5430ee7c51dc892a67b3f2829d1f5b6d223f0fd48b82322cfd45baf9f5e945L37-R47)
[[2]](diffhunk://#diff-bd5430ee7c51dc892a67b3f2829d1f5b6d223f0fd48b82322cfd45baf9f5e945L68-R78)
[[3]](diffhunk://#diff-bd5430ee7c51dc892a67b3f2829d1f5b6d223f0fd48b82322cfd45baf9f5e945L99-R109)
*
[`.vscode/settings.json`](diffhunk://#diff-a5de3e5871ffcc383a2294845bd3df25d3eeff6c29ad46e3a396577c413bf357L3-R8):
Adjusted Python analysis paths to use the `libs` directory instead of
`rag-core-library`.

### Workflow Updates

*
[`.github/workflows/lint-and-test.yml`](diffhunk://#diff-9a979a1e38ba79e2c75e54c4bf21fe1a2a1b935e1736666565f992e634dadd0fR73):
Added support for submodules in the checkout step and simplified
Dockerfile paths by removing the `services` prefix.
[[1]](diffhunk://#diff-9a979a1e38ba79e2c75e54c4bf21fe1a2a1b935e1736666565f992e634dadd0fR73)
[[2]](diffhunk://#diff-9a979a1e38ba79e2c75e54c4bf21fe1a2a1b935e1736666565f992e634dadd0fL81-R82)

### Documentation Revisions

*
[`README.md`](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L3-R3):
Revised references to project structure, components, and submodules,
replacing mentions of `rag-core-library` with `libs`. Updated links to
point to the new directory structure and external repositories.
[[1]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L3-R3)
[[2]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L67-R70)
[[3]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L109-R81)
[[4]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L136-R108)
[[5]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L433)

### Build and Deployment Adjustments

*
[`Tiltfile`](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425R17-R24):
Updated commands and paths to align with the new `libs` directory
structure. Introduced conditional build arguments (`TEST=1` or `dev=1`)
for Docker builds based on folder context.
[[1]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425R17-R24)
[[2]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425R33-R40)
[[3]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425L45-R59)
[[4]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425L82-R90)
[[5]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425L94-R102)
[[6]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425L105-R113)

These changes collectively improve the maintainability and clarity of
the codebase while aligning the project structure with modern
conventions.
@a-klos a-klos merged commit db23055 into feature/update-dependencies Jul 15, 2025
2 checks passed
@a-klos a-klos deleted the feature/consolidate-tooling branch July 15, 2025 10:29
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.

2 participants