* transition validate_formatting.py to run_black.py called from within the tox env
* update filter_tox_env_string to handle check defaults that are nonTrue
* default black to opt-in, not opt-out
* add support for parsing and building pure pyproject.toml packages within azure-sdk-tools
* various typing updates across azure-sdk-tools, cleaning up what code paths I'm touching with the new build and parse support
* add tests for various pyproject.toml parse scenarios
* bump setuptools to 74.1.3 to support pure-pyproject.toml extension packages (eg without a setup.py)
---------
Co-authored-by: McCoy Patiño <39780829+mccoyp@users.noreply.github.com>
* add base class properties in code report
* add test and assets
* license headers
---------
Co-authored-by: Catalina Peralta <caperal@microsoft.com>
Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com>
* update `use-python-version` to no longer use local scripts for downloading additional python versions, the UsePythonVersion task now does this for us.
* update `macos` agents to install `pypy39` and move to the AGENT_TOOLSDIRECTORY so that any invocations of python version `pypy39` no longer errors
* during mindependency runs, dev_requirements on local relative paths are now checked for conflict with the targeted set of minimum dependencies
* multiple type clarifications within azure-sdk-tools
* added tests for new conflict resolution logic
---------
Co-authored-by: McCoy Patiño <39780829+mccoyp@users.noreply.github.com>
* apply black and prepare for parsing the ci.yml so that we can understand if testproxy is enabled or disabled
* The language specific cert trust in Language-Settings has been updated to no longer globally set environment variables SSL_CERT_DIR, SSL_CERT_FILE, and REQUEST_CA_BUNDLE. These are dynamically set in proxy_startup.py
* encode the fact that azure-eventhub does not support pypy machines
* add azure-sdk-tools test workflow
* update cspell to account for new workflow
* fix matrix generation when no direct packages are present
* fix a test relying on folder ordering to NOT depend on that folder ordering
* refactor package selection methodology to utilize Save-Package-Properties for package targeting
* introduce the python - pullrequest build definition that is triggered against all sdk/ directories, and builds/tests the packages which were changed
* this also includes abstractions to reduce runtime by distributing sets of packages and duplicating matrix definition
* refactor all analyze checks which used to operate on ServiceDirectory to instead operate upon the packages present within a PackageInfoFolder from Save-Package-Properties
* miscellaneous tooling changes to account for new matrix possibilities
---------
Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
Co-authored-by: Patrick Hallisey <pahallis@microsoft.com>
* refactor: Return full Requirements object instead of [name, specifier]
* feat: Filter out requirements that apply to the current environment
* feat: Add a log message when a requirement is skipped
* small update covering a couple extra usages of parse_require
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* move diff call to init
* underscore for properties that shouldnt be used on the tracker
* more clean up
* fix tests and changelogtracker
* fix tests
---------
Co-authored-by: Catalina Peralta <caperal@microsoft.com>
* remove a bunch of setuptools pins in favor of the single generic. this is only relevant to setuptools, a greater cleanup along with some CG updates should also be carried out
* support suppressions for changelog reporting
* clean up
* fix type
* clean up imports
* add test
---------
Co-authored-by: Catalina Peralta <caperal@microsoft.com>
* initial commit
* wip
* working
* write to html
* sorted
* fix black, add filters for include_sdk_owned and omit_good, sort libraries for markdown/html
* add sla status
* add default comments
* remove debug comment
* structure csv report to work with powerbi
* feedback
* fix some typing
* Update health report
* updates + fix html/markdown report
* rename things
* add short readme