Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Assess and upgrade Azure workloads between plans, tiers, or SKUs with automated migration steps
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/languages/java/templates/PROGRESS_TEMPLATE.md
1<!--2This is the upgrade progress tracker for Azure SDK migration.3Each step from plan.md should be tracked here with status, changes, verification results, and TODOs.45## EXECUTION RULES67!!! DON'T REMOVE THIS COMMENT BLOCK BEFORE UPGRADE IS COMPLETE AS IT CONTAINS IMPORTANT INSTRUCTIONS.89### Success Criteria10- **Goal**: All legacy Azure SDK dependencies (com.microsoft.azure.*) replaced with modern equivalents (com.azure.*)11- **Compilation**: Both main source code AND test code compile = `mvn clean test-compile` succeeds12- **Test**: 100% test pass rate = `mvn clean test` succeeds (or ≥ baseline with documented pre-existing flaky tests)1314### Strategy15- **Uninterrupted run**: Complete execution without pausing for user input16- **NO premature termination**: Token limits, time constraints, or complexity are NEVER valid reasons to skip fixing.17- **Automation tools**: Use OpenRewrite etc. for efficiency; always verify output1819### Verification Expectations20- **Steps 1-N (Setup/Upgrade)**: Focus on COMPILATION SUCCESS (both main and test code).21- On compilation success: Commit and proceed (even if tests fail - document count)22- On compilation error: Fix IMMEDIATELY and re-verify until both main and test code compile23- **NO deferred fixes** (for compilation): "Fix post-merge", "TODO later", "can be addressed separately" are NOT acceptable. Fix NOW or document as genuine unfixable limitation.24- **Final Validation Step**: Achieve COMPILATION SUCCESS + 100% TEST PASS.25- On test failure: Enter iterative test & fix loop until 100% pass or rollback to last-good-commit after exhaustive fix attempts26- **NO deferring test fixes** - this is the final gate27- **NO categorical dismissals**: "Test-specific issues", "doesn't affect production", "sample/demo code" are NOT valid reasons to skip. ALL tests must pass.28- **NO "close enough" acceptance**: 95% is NOT 100%. Every failing test requires a fix attempt with documented root cause.29- **NO blame-shifting**: "Known framework issue", "migration behavior change" require YOU to implement the fix or workaround.3031### Review Code Changes (MANDATORY for each step)32After completing changes in each step, review code changes BEFORE verification to ensure:33341. **Sufficiency**: All changes required for the upgrade goal are present — no missing modifications that would leave the upgrade incomplete.35- All dependencies/plugins listed in the plan for this step are updated36- All required code changes (API migrations, import updates, config changes) are made37- All compilation and compatibility issues introduced by the upgrade are addressed382. **Necessity**: All changes are strictly necessary for the upgrade — no unnecessary modifications, refactoring, or "improvements" beyond what's required. This includes:39- **Functional Behavior Consistency**: Original code behavior and functionality are maintained:40- Business logic unchanged41- API contracts preserved (inputs, outputs, error handling)42- Expected outputs and side effects maintained43- **Security Controls Preservation** (critical subset of behavior):44- **Authentication**: Login mechanisms, session management, token validation, MFA configurations45- **Authorization**: Role-based access control, permission checks, access policies, security annotations (@PreAuthorize, @Secured, etc.)46- **Password handling**: Password encoding/hashing algorithms, password policies, credential storage47- **Security configurations**: CORS policies, CSRF protection, security headers, SSL/TLS settings, OAuth/OIDC configurations48- **Audit logging**: Security event logging, access logging4950**Review Code Changes Actions**:51- Review each changed file for missing upgrade changes, unintended behavior or security modifications52- If behavior must change due to framework requirements, document the change, the reason, and confirm equivalent functionality/protection is maintained53- Add missing changes that are required for the upgrade step to be complete54- Revert unnecessary changes that don't affect behavior or security controls55- Document review results in progress.md and commit message5657### Commit Message Format58- First line: `Step <x>: <title> - Compile: <result>` or `Step <x>: <title> - Compile: <result>, Tests: <pass>/<total> passed`59- Body: Changes summary + concise known issues/limitations (≤5 lines)60- **Security note**: If any security-related changes were made, include "Security: <change description and justification>"6162### Efficiency (IMPORTANT)63- **Targeted reads**: Use `grep` over full file reads; read specific sections, not entire files. Template files are large - only read the section you need.64- **Quiet commands**: Use `-q`, `--quiet` for build/test commands when appropriate65- **Progressive writes**: Update progress.md incrementally after each step, not at end66-->6768# Upgrade Progress: <PROJECT_NAME> (<RUN_ID>)6970- **Started**: <timestamp> <!-- replace with actual start timestamp -->71- **Plan Location**: `.github/java-upgrade/<RUN_ID>/plan.md`72- **Total Steps**: <number of steps from plan.md>7374## Step Details7576<!--77For each step in plan.md, track progress using this bullet list format:7879- **Step N: <Step Title>**80- **Status**: <status emoji>81- 🔘 Not Started - Step has not been started yet82- ⏳ In Progress - Currently working on this step83- ✅ Completed - Step completed successfully84- ❗ Failed - Step failed after exhaustive attempts85- **Changes Made**: (≤5 bullets, keep each ≤20 words)86- Focus on what changed, not how87- **Review Code Changes**:88- Sufficiency: ✅ All required changes present / ⚠️ <list missing changes added, short and concise>89- Necessity: ✅ All changes necessary / ⚠️ <list unnecessary changes reverted, short and concise>90- Functional Behavior: ✅ Preserved / ⚠️ <list unavoidable changes with justification, short and concise>91- Security Controls: ✅ Preserved / ⚠️ <list unavoidable changes with justification and equivalent protection, short and concise>92- **Verification**:93- Command: <actual command executed>94- JDK: <JDK path used>95- Build tool: <Path of build tool used>96- Result: <SUCCESS/FAILURE with details>97- Notes: <any skipped checks, excluded modules, known issues>98- **Deferred Work**: List any deferred work, temporary workarounds (or "None")99- **Commit**: <commit hash> - <commit message first line>100101---102103SAMPLE UPGRADE STEP:104105- **Step X: Migrate Azure Management Dependencies**106- **Status**: ✅ Completed107- **Changes Made**:108- Added azure-sdk-bom to dependencyManagement109- Replaced com.microsoft.azure:azure-mgmt-* with com.azure.resourcemanager110- Replaced azure-client-authentication with azure-identity111- **Review Code Changes**:112- Sufficiency: ✅ All required changes present113- Necessity: ✅ All changes necessary114- Functional Behavior: ✅ Preserved - API contracts and business logic unchanged115- Security Controls: ✅ Preserved - authentication pattern updated with equivalent protection116- **Verification**:117- Command: `mvn clean test-compile -q`118- JDK: /usr/lib/jvm/java-8-openjdk119- Build tool: /usr/local/maven/bin/mvn120- Result: ✅ Compilation SUCCESS | ⚠️ Tests: 10/12 passed (2 failures deferred to Final Validation)121- Notes: 2 test failures related to auth mock setup122- **Deferred Work**: Fix 2 test failures in Final Validation step (TestAuthHelper, TestResourceCreation)123- **Commit**: abc1234 - Step X: Migrate Azure Management Dependencies - Compile: SUCCESS, Tests: 10/12 passed124125---126127SAMPLE FINAL VALIDATION STEP:128129- **Step X: Final Validation**130- **Status**: ✅ Completed131- **Changes Made**:132- Verified no legacy com.microsoft.azure.* dependencies remain133- Resolved 2 TODOs from Step 3134- Fixed 2 test failures (auth mock setup, resource assertion)135- **Review Code Changes**:136- Sufficiency: ✅ All required changes present137- Necessity: ✅ All changes necessary138- Functional Behavior: ✅ Preserved - all business logic and API contracts maintained139- Security Controls: ✅ Preserved - all authentication, authorization unchanged140- **Verification**:141- Command: `mvn clean test -q`142- JDK: /usr/lib/jvm/java-8-openjdk143- Build tool: /usr/local/maven/bin/mvn144- Result: ✅ Compilation SUCCESS | ✅ Tests: 12/12 passed (100% pass rate achieved)145- **Deferred Work**: None - all TODOs resolved146- **Commit**: xyz3456 - Step X: Final Validation - Compile: SUCCESS, Tests: 12/12 passed147-->148149---150151## Notes152153<!--154Additional context, observations, or lessons learned during execution.155Use this section for:156- Unexpected challenges encountered157- Deviation from original plan158- Performance observations159- Recommendations for future upgrades160161SAMPLE:162- azure-sdk-bom simplified version management significantly163- Authentication migration required adding jackson-databind for file-based auth164- Modern SDK fluent API method names differ from legacy — migration guide was essential165-->166