Skip to content

Conversation

@JimSuplizio
Copy link
Contributor

@JimSuplizio JimSuplizio commented Oct 15, 2024

Some of this work I'm doing in preparation of a pull request pipeline similar to what was implemented for Python. Instead of kicking off multiple area pipelines, it only kicks off a single one and uses the diff to figure out what needs to be run.

Unlike existing pipelines, the PR pipeline won't have an Artifacts list from a ci.yml, meaning that some things that currently expect a list Artifacts needs to process differently. Updates were recently made to the script that gathers the package properties to add the artifact details into the package info files which is contain the metadata for that artifact's entry pulled from the ci.yml file. For example, everything under the ArtifactDetails in the PackageInfo json for azure-aot-graalvm-support is directly from the Artifacts entry. Note: The script is generic, made to run in all of the azure-sdk-repositories and releaseInBatch is java specific and won't be set in the packageInfo, it's never used from there, it's only ever used when devops is creating the yml for the pipeline run from the template.
{
"Name": "azure-aot-graalvm-support",
"Version": "1.0.0-beta.4",
"DevVersion": null,
"DirectoryPath": "sdk/aot/azure-aot-graalvm-support",
"ServiceDirectory": "aot",
"ReadMePath": "sdk/aot/azure-aot-graalvm-support/README.md",
"ChangeLogPath": "sdk/aot/azure-aot-graalvm-support/CHANGELOG.md",
"Group": "com.azure",
"SdkType": "client",
"IsNewSdk": true,
"ArtifactName": "azure-aot-graalvm-support",
"ReleaseStatus": "Unreleased",
"IncludedForValidation": false,
"AdditionalValidationPackages": null,
"ArtifactDetails": {
"name": "azure-aot-graalvm-support",
"groupId": "com.azure",
"safeName": "azureaotgraalvmsupport",
"releaseInBatch": "${{ parameters.release_azureaotgraalvmsupport }}",
"skipPublishDocMs": true
}
}

  • The Save-Package-Namespaces-Property script would normally take the artifacts list as an argument and update the PackageInfo file with namespaces for those libraries that have MSDocs published. This is being changed to scan the packageInfo files and uses the ArtifactDetails in that file to determine if it needs to figure out, or skip, adding namespaces.

  • The generate_from_source_pom.py script wasn't getting the dependencies for AdditionalModules the way it was for the ArtifactsList. We'd gotten along without this because the additional modules didn't pull in a lot, but the azure-aot-graalvm-samples drags has a large number of dependencies in different service directories. To be clear: This only affects the build time of the FromSource run and not the test run time since they're additional modules and even then, outside of AOT, the build times are negligible.

The following files are being updated because they have samples which have artifact entries in version_client.txt and they're picked up by the script that's building the PackageInfo files but without an Artifacts, or AdditionalModules, entry in their service directory's ci.yml file these never get built and should be.

  • sdk/aot/ci.yml - com.azure:azure-aot-graalvm-samples;1.0.0-beta.1;1.0.0-beta.1
  • sdk/core/ci.yml - com.azure:azure-core-tracing-opentelemetry-samples;1.0.0-beta.1;1.0.0-beta.1
  • sdk/identity/ci.yml - com.azure:azure-identity-broker-samples;1.0.0-beta.1;1.0.0-beta.1

@JimSuplizio JimSuplizio self-assigned this Oct 15, 2024
@github-actions github-actions bot added Azure.Core azure-core Azure.Identity graalvm Label for tracking issues related to graalvm labels Oct 15, 2024
@JimSuplizio JimSuplizio merged commit 191763b into Azure:main Oct 28, 2024
86 checks passed
@JimSuplizio JimSuplizio deleted the UsePackageInfoInsteadOfArtifactListForNamespaces branch October 28, 2024 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Azure.Core azure-core Azure.Identity graalvm Label for tracking issues related to graalvm

Projects

Development

Successfully merging this pull request may close these issues.

2 participants