* when processing a PR diff, treat packages added via their triggeringPaths as directly changed (used to be indirect)
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* add a category to parse triggerPaths when there is no artifact present (this is the go use-case)
* add integration tests for Save-Package-Properties scenarios
* bugfixes around various situations in new PackageProps class
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* populate triggeringPaths of each artifactdetails with the owning ci.yml
* handle service-directory changes in Get-PrPkgProperties
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* Get-PRPkgProperties now honors artifact-list specific absolute/relative paths to other triggering folders. This will supplant the common "if eng/ changes include template and core" in a follow-up PR.
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* replace PkgProps CIMatrixConfigs property in favor of a more generalized CIParameters property. Original CIMatrixConfigs will exist as an item of same key within CIParameters.
* update Create-PRJobMatrix to honor new CIMatrixConfigs property location
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* ensure that packages that come back from AdditionalValidationPackages are NOT counted as 'includedForValidation: true' if they also exist in the original 'these packages changed' set
Co-authored-by: Ben Broderick Phillips <ben@benbp.net>
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Ben Broderick Phillips <ben@benbp.net>
* package-properties are now populated with matrix configurations from their ci.yml if present
* create new code path for generate-job-matrix.yml which combines Create-JobMatrix and the "distribute-packages-to-matrix" action to generate dynamic matrices for PRs
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* Refactor PackageProps to make the Yaml loading and processing methods common
* Updates for feedback
---------
Co-authored-by: James Suplizio <jasupliz@microsoft.com>
* Add CompatibleConvertFrom-Yaml to common Package-Helpers
* Add CI artifact parsing to Save-Package-Properties, now each individual packageinfo.json file contains the relevant ci artifact lines for the package. This short circuits needing to re-parse this information in common checks.
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* updating package properties with direct/indirect (if named differently) as well as pulling BuildDocs from ci.yml artifact list if it exists
* eliminate the addition of buildDocs property. it requires powershell-yaml to be present on our base function. not good
* remove call to InitializeBuildDocs
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* Apply a few changes to Get-PRPackageProperties to make it more customizable for our users. Remove wonky gap + extra spacing that should pass the patch application process now that we've manually aligned common.ps1
* account for feedback -- rename CanaryPackages to AdditionalValidationPackages
* dependentPackagesforInclusion -> additionalValidationPackages
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
* more compatibility with expanding/contracting packages. add ability for packages to have DependentPackages that must be included in the set of packages that should be built given a changeset
---------
Co-authored-by: Scott Beddall <scbedd@microsoft.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
* add additional argument to Save-Package-Properties to allow for usage in pull request context
---------
Co-authored-by: Scott Beddall (from Dev Box) <scbedd@microsoft.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
* Bring changes from JS docs metadata
* Move business logic inside Update-DocsMsMetadata.ps1
* Update with the latest changes in JS PR
* Update from latest PR feedback
* Add check for empty path to prevent crashes when creating relative paths
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
* Check for API review status only if release date is set in changelog
* Change property name to ReleaseStatus
Co-authored-by: Praveen Kuttappan <praveen.kuttappan@gmail.com>
- This removes the ci.yml filtering which means all projects can be discovered
- This eliminates the need for the yml parsing module for most common scenarios
- This does introduce some potential issues with duplicate package names for
languages like java. The only known case currently is azure-storage-blobs and
if there is ever a need to explicitly pick the correct one someone can pass
in the ServiceDirectory filter similar to "storage/azure*" for new and "storage/microsoft*"
for the older sdk. By default azure usually comes first so the new one gets discovered
which is likely all we need for now. If this turns out not to be true we might
need another way to disambiguate.
Co-authored-by: Wes Haggard <Wes.Haggard@microsoft.com>
Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
Pull only artifacts from `ci.yml` to resolve issue with conflicting package names.
Co-authored-by: Chidozie Ononiwu <31145988+chidozieononiwu@users.noreply.github.com>
* Update Package Properties Logic, make prepare release require only 1 argument, make rerun of Get-PkgProperties in Update-Changelog not required
* Remove ServiceDirectory parameter from PrepareRelease.ps1
* changes to argument names
* pass service directory to Get-AllPackageInfoFromRepo
* Remove changes in Update-ChangeLog.ps1
* updates to Package-Properties.ps1
Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
Co-authored-by: Chidozie Ononiwu <31145988+chidozieononiwu@users.noreply.github.com>
* Create package property file using artifact name
* Add option to pass config file dir
* Set default config file directory to avoid script execution failure
Co-authored-by: praveenkuttappan <prmarott@microsoft.com>
* Enforce API approval status for GA and include SDK type in package properties
* Fix per review comment
* Fixes as per review comments to avoid changing constructor signature
* Fixes as per review comments to handle track 1 packages
* Fix yaml format error
Co-authored-by: praveenkuttappan <prmarott@microsoft.com>