Enable azl-cicd to be triggered by pipeline and allow test results to be consumed#95
Merged
Merged
Conversation
bfjelds
commented
Aug 8, 2025
bfjelds
commented
Aug 8, 2025
bfjelds
commented
Aug 12, 2025
bfjelds
commented
Aug 12, 2025
bfjelds
commented
Aug 12, 2025
alejandro-microsoft
approved these changes
Aug 13, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔍 Description
Separate amd64 and arm64 in testing pipelines. This will allow us to trigger directly from architecture-specific pipelines from the azure linux team.
Create junit artifacts.
a. Create template that uploads test results and creates artifact
b. Replace existing calls to upload test results with new template
azl-cicd requires build-id variables to be configured and passed to pipeline internals. Currently, we are only handling parameters (which are compile time), but if the pipeline is triggered, we need to support runtime variables. To accomplish this, I moved the baseimage variables into an artifact, which can be read as needed rather than passing template parameters (which are not always compatible with runtime variables).
a. Create and use read/create base image config artifact templates
b. Remove parameters related to build id/type
Introduce a way for the e2e template stages to wait for a prior stage (this allows a pipeline calling e2e-template to execute a stage before, for example to create a baseimage artifact)
a. Create optional parameter that stores stage name to dependOn
b. Modify primary templates called by e2e-template to depend on new parameter
Modify trident-cicd to mimic what IDC will do and validate the above changes.
Verified pr: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=897106&view=results
Verified pr-e2e: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=896884&view=results
Verified azl-cicd: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=896887&view=results
Verified pipeline-tester [ci]: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=896890&view=results
Verified pipeline-tester [pre] w/o bm: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=896892&view=results
Verified trident-scale: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=896883&view=results
Verified trident-prism-cicd: https://dev.azure.com/mariner-org/ECF/_build/results?buildId=896886&view=results