Skip to content

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

Merged
Scott Beddall (scbedd) merged 78 commits into
mainfrom
build-revamp
Aug 16, 2022
Merged

Refactor Build, Versioning into azure-sdk-tools#25454
Scott Beddall (scbedd) merged 78 commits into
mainfrom
build-revamp

Conversation

@scbedd

@scbedd Scott Beddall (scbedd) commented Jul 28, 2022

Copy link
Copy Markdown
Member

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

Scott Beddall (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
Comment thread doc/eng_sys_checks.md Outdated
@scbedd

Scott Beddall (scbedd) commented Aug 16, 2022

Copy link
Copy Markdown
Member Author

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
Copy Markdown
Member Author

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
Copy Markdown
Member Author

/check-enforcer override

@scbedd
Scott Beddall (scbedd) merged commit ecfe90f into main Aug 16, 2022
@scbedd
Scott Beddall (scbedd) deleted the build-revamp branch August 16, 2022 19:25
@scbedd Scott Beddall (scbedd) added the Central-EngSys This issue is owned by the Engineering System team. label Aug 16, 2022
Laia Patiño (laiapat) pushed a commit to laiapat/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