Skip to content
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

Refactor Build, Versioning into azure-sdk-tools #25454

Merged
merged 78 commits into from
Aug 16, 2022
Merged

Refactor Build, Versioning into azure-sdk-tools #25454

merged 78 commits into from
Aug 16, 2022

Conversation

scbedd
Copy link
Member

@scbedd scbedd commented Jul 28, 2022

This PR...

  • Refactors scripts present under eng/versioning to namespace ci_tools.versioning within the azure-sdk-tools package. All Integration points in CI are flipped over to consume entrypoints defined in the setup.py.
  • Refactors build_packages.py and build_package.py into single module ci_tools.build. This function create_package within this module is used wherever packages are built.
  • Moves anything related to setup.py parsing into ci_tools.parsing. More specific, allows users access to ParsedSetup which has a classmethod from_path that can be aimed at any setup.py. Instead of a crazy tuple that we can get lost in the sauce in, it's just strongly typed members of a class now.
  • Moves anything related to processing of requirements into ci_tools.functions.
  • Type and doc comment all the moved common functionality

This will be the most painful of the refactoring effort, but we will be able to make iterative fixes quite quickly once this one is in.

Due to the relative risk. I am delaying this merge until post-August-release-week. This is a significant improvement, but nothing that can't wait for a week.

Contributes to #23146

scbedd and others added 30 commits February 23, 2022 11:36
* moving versioning and build files to their appropriate location, adding azci namespace to azure-sdk-tools and getting argparsers working with each other
* there is no path to successful completion of "build" command yet, that's next.
…king for the current level of abstraction and finish build.py
…ng requirements, classifiers, and version to dev versions
…e if __name__ == main into callable functions, and we'll be in business!
…bjects (which massively simplifies reading the code). update Language-Settings incorrect consumption of sdk_set_dev_version to sdk_set_version
… tox_harness, setup_execute_tests, test_regression
@scbedd scbedd marked this pull request as ready for review July 30, 2022 00:24
@scbedd scbedd requested a review from mccoyp July 30, 2022 00:37
doc/eng_sys_checks.md Outdated Show resolved Hide resolved
@scbedd
Copy link
Member Author

scbedd commented Aug 16, 2022

The failures present on python - core regression tests align with existing failures. Not treating as a blocker. Addressing final spellcheck errors and merging this PR.

@scbedd
Copy link
Member Author

scbedd commented Aug 16, 2022

The single failure during release is due to a known issue with the SemVer powershell scripts, and is not related to the refactor. Overriding and merging.

@scbedd
Copy link
Member Author

scbedd commented Aug 16, 2022

/check-enforcer override

@scbedd scbedd merged commit ecfe90f into main Aug 16, 2022
@scbedd scbedd deleted the build-revamp branch August 16, 2022 19:25
@scbedd scbedd added the Central-EngSys This issue is owned by the Engineering System team. label Aug 16, 2022
@scbedd scbedd self-assigned this Aug 16, 2022
@msyyc msyyc mentioned this pull request Aug 17, 2022
wonder6845 pushed a commit to wonder6845/azure-sdk-for-python that referenced this pull request Aug 23, 2022
* SDK-Tools refactor
* Refactors scripts present under eng/versioning to namespace ci_tools.versioning within the azure-sdk-tools package. All Integration points in CI are flipped over to consume entrypoints defined in the setup.py.
* Refactors build_packages.py and build_package.py into single module ci_tools.build. This function create_package within this module is used wherever packages are built.
* Moves anything related to setup.py parsing into ci_tools.parsing. More specifically, allows users access to ParsedSetup which has a classmethod from_path that can be aimed at any setup.py or package root.
  * Instead of a crazy tuple that we can get lost in the sauce in, it's just strongly typed members of a class now.
* Moves anything related to processing of requirements into ci_tools.functions.
* Type and doc comment all the moved common functionality
mccoyp pushed a commit to mccoyp/azure-sdk-for-python that referenced this pull request Sep 22, 2022
* SDK-Tools refactor
* Refactors scripts present under eng/versioning to namespace ci_tools.versioning within the azure-sdk-tools package. All Integration points in CI are flipped over to consume entrypoints defined in the setup.py.
* Refactors build_packages.py and build_package.py into single module ci_tools.build. This function create_package within this module is used wherever packages are built.
* Moves anything related to setup.py parsing into ci_tools.parsing. More specifically, allows users access to ParsedSetup which has a classmethod from_path that can be aimed at any setup.py or package root.
  * Instead of a crazy tuple that we can get lost in the sauce in, it's just strongly typed members of a class now.
* Moves anything related to processing of requirements into ci_tools.functions.
* Type and doc comment all the moved common functionality
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Central-EngSys This issue is owned by the Engineering System team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Investment] Python Matrix on optional dependency
3 participants