Skip to content

Conversation

rane-rajasi
Copy link
Contributor

@rane-rajasi rane-rajasi commented Sep 15, 2025

Refactoring TDNFPackageManager with Azure Linux specializations added to AzL3TdnfPackageManager.

This is a follow up PR based on the comments in: #318

  1. Feature: Azure Linux 3.0: Enhanced Support #318 (comment)
  2. Feature: Azure Linux 3.0: Enhanced Support #318 (comment)
  3. Feature: Azure Linux 3.0: Enhanced Support #318 (comment)

Tests Results:

@rane-rajasi rane-rajasi requested review from a team, najams, michellemcdaniel and kjohn-msft and removed request for a team September 15, 2025 09:36
@rane-rajasi rane-rajasi requested a review from najams as a code owner September 15, 2025 09:36
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors the TDNF Package Manager implementation by extracting Azure Linux specific functionality into a separate class while keeping the base TDNF functionality abstracted. The goal is to create a cleaner architecture that separates the generic TDNF functionality from Azure Linux specializations.

Key changes:

  • Refactors TdnfPackageManager to be an abstract base class with common TDNF functionality
  • Creates new AzL3TdnfPackageManager class containing Azure Linux specific implementations
  • Updates test class names and structure to match the new architecture

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/core/src/package_managers/TdnfPackageManager.py Converted to abstract base class with only common TDNF functionality
src/core/src/package_managers/AzL3TdnfPackageManager.py New concrete implementation with Azure Linux specializations
src/core/src/bootstrap/ConfigurationFactory.py Updated imports to use new AzL3TdnfPackageManager
src/core/tests/Test_TdnfPackageManager.py Renamed to Test_AzL3TdnfPackageManager and removed Azure-specific tests
src/core/tests/Test_AzL3TdnfPackageManager.py New test file for Azure Linux specific functionality

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link

codecov bot commented Sep 15, 2025

Codecov Report

❌ Patch coverage is 96.96049% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.82%. Comparing base (407f78c) to head (1c83390).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...rc/core/src/package_managers/TdnfPackageManager.py 94.81% 24 Missing ⚠️
src/core/tests/Test_TdnfPackageManager.py 99.01% 5 Missing ⚠️
src/core/src/package_managers/PackageManager.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #331      +/-   ##
==========================================
- Coverage   93.83%   93.82%   -0.02%     
==========================================
  Files         103      105       +2     
  Lines       18129    18172      +43     
==========================================
+ Hits        17011    17049      +38     
- Misses       1118     1123       +5     
Flag Coverage Δ
python27 93.81% <96.95%> (-0.02%) ⬇️
python312 93.81% <96.96%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

rane-rajasi added a commit that referenced this pull request Sep 15, 2025
This is a simple renaming of TdnfPackageManager to AzL3PackageManager.
Will be followed up by separating generic TdnfPackageManager
implementations from Azure Linux 3 specific ones:
#331
Copy link
Collaborator

@kjohn-msft kjohn-msft left a comment

Choose a reason for hiding this comment

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

Several comment themes inline.
Haven't repeated the comments in every instance - please use the themes to comb through equivalents.

Copy link
Collaborator

@kjohn-msft kjohn-msft left a comment

Choose a reason for hiding this comment

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

Comments are inline from yesterday. (Not sure why it's asking me to 'add my review' again.)

Copy link
Collaborator

@kjohn-msft kjohn-msft left a comment

Choose a reason for hiding this comment

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

Detailed comment on how to split inline.

@rane-rajasi rane-rajasi merged commit 51b8057 into master Oct 2, 2025
8 checks passed
@rane-rajasi rane-rajasi deleted the rarane/azlinux/azl3TdnfPkgMgr_refactor branch October 2, 2025 21:46
rane-rajasi added a commit that referenced this pull request Oct 2, 2025
Release includes:

- [AzL3Tdnf] Refactoring TDNF Package Manager separating Azure Linux
specializations in it's own implementation
[331](#331)
- [AzL3Tdnf] Renaming TdnfPackageManager to AzL3PackageManager
[332](#332)
- Feature: Azure Linux 3.0: Enhanced Support
[318](#318)
- Engg. hygiene: Explicit Codecov workflow permissions
[327](#327)
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.

3 participants