Rebrand AIAdvisor to MigrationCompanion and integrate into Gradle build system#2686
Draft
AndreKurait wants to merge 19 commits intoopensearch-project:mainfrom
Draft
Rebrand AIAdvisor to MigrationCompanion and integrate into Gradle build system#2686AndreKurait wants to merge 19 commits intoopensearch-project:mainfrom
AndreKurait wants to merge 19 commits intoopensearch-project:mainfrom
Conversation
- Rename AIAdvisor/ directory to MigrationCompanion/ - Update all CI workflow references from AIAdvisor to MigrationCompanion - Replace hardcoded GOARCH=amd64 with ARG TARGETARCH for multi-platform Docker buildx builds (amd64/arm64) Signed-off-by: Andre Kurait <andrekurait@gmail.com>
- Delete standalone build.sh (replaced by Gradle buildKit) - Add opensearchPricingCalculator buildKit entry for Docker image builds - Create build.gradle with goTest task wired into check lifecycle - Register as MigrationCompanion:opensearch-pricing-calculator subproject Signed-off-by: Andre Kurait <andrekurait@gmail.com>
…mpanion image - Create unified Dockerfile at MigrationCompanion/ that builds the Go binary and pip-installs the Python solr-migration-advisor skill - Remove standalone docker scripts (setup/docker/claude/) and old opensearch-pricing-calculator/Dockerfile - Update buildKit entry: contextDir=MigrationCompanion, imageName=migration_companion - Move build.gradle to MigrationCompanion/ with goTest and pythonTest tasks both wired into check lifecycle - Update settings.gradle to include MigrationCompanion directly Signed-off-by: Andre Kurait <andrekurait@gmail.com>
- Add syncVersionFile_migrationCompanion task following project pattern - Add requiredDependencies in buildKit config so VERSION is staged before Docker build - Copy VERSION file in Dockerfile for consistent image versioning - Add .dockerignore to exclude tests and build artifacts from context - Fix docker-compose.yml to reference unified Dockerfile Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2686 +/- ##
=========================================
Coverage 72.52% 72.53%
Complexity 90 90
=========================================
Files 709 709
Lines 32988 32988
Branches 2823 2826 +3
=========================================
+ Hits 23925 23927 +2
+ Misses 7784 7782 -2
Partials 1279 1279
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:
|
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
… worktrees Signed-off-by: Andre Kurait <andrekurait@gmail.com>
setuptools refuses to read files outside the package directory, so Gradle syncs the root VERSION file into the skill directory before pythonSetup runs. Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
…ects The other Python projects (console_link, cluster_tools) use hardcoded versions in setup.py. Image versioning is handled by Gradle's syncVersionFile and buildKit tagging, not the Python package version. Signed-off-by: Andre Kurait <andrekurait@gmail.com>
- Switch runtime from alpine:3.21 to amazonlinux:2023 (AL2023) - Parameterize base images via ARG for pull-through cache support - Add ptc.rewrite buildArgs for BUILDER_IMAGE and RUNTIME_IMAGE - Use python3.11 from AL2023 repos instead of Alpine py3-pip Signed-off-by: Andre Kurait <andrekurait@gmail.com>
- Restore entrypoint.sh for Claude agent (symlinks skills, references, scripts, steering into processing dir and launches claude) - Install Claude CLI, jq, curl in the image - Set up skill directory structure for Claude agent consumption - Image now contains both: pricing calculator API (/app/) and Claude agent environment (/home/user/claude/) Signed-off-by: Andre Kurait <andrekurait@gmail.com>
…erignore Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Use a Gradle Sync task to stage only the needed files into build/dockerContext, matching the pattern used by migrationConsole. This eliminates the .dockerignore and makes the build context explicit. Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Signed-off-by: Andre Kurait <andrekurait@gmail.com>
priceCache.json is not in the source tree (gitignored) and is not produced by the go build step. The Go app already handles this at runtime: LoadFromLocalFile() calls InvalidateCache() when the file is missing, downloading pricing data from AWS APIs on first start. Signed-off-by: Andre Kurait <andrekurait@gmail.com>
Member
|
Waiting for OSC deliverable before merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Rebrands the
AIAdvisordirectory toMigrationCompanionand fully integrates it into the project's Gradle build system and Docker image pipeline.Changes
Rebrand AIAdvisor → MigrationCompanion
AIAdvisor/directory toMigrationCompanion/.github/workflows/CI.ymlUnified Docker image
migration_companionDocker imageGOARCHto useTARGETARCHfor buildx multi-platform builds (amd64/arm64)build.shandsetup/docker/claude/scriptsGradle integration
MigrationCompanionas a Gradle subproject withgoTestandpythonTesttasks wired intocheckmigrationCompanionbuildKit entry inbuildImages/build.gradlewithsyncVersionFiledependency./gradlew buildKit_migrationCompanion(multi-arch) or_amd64/_arm64variantsVersion alignment
pyproject.toml; use dynamic versioning from rootVERSIONfilesyncVersionFile_migrationCompanionstages VERSION into Docker context following project conventionsTesting
./gradlew :MigrationCompanion:check— runs both Go and Python tests./gradlew :MigrationCompanion:goTest— Go tests only./gradlew :MigrationCompanion:pythonTest— Python tests onlyMigrationCompanion/skills/solr-opensearch-migration-advisorunchanged