Dotsider for Azure Pipelines
Publish the application with NativeAOT size sidecars, then invoke the task on pull requests and on the target branch:
The first successful branch build enforces absolute limits and stores a managed baseline.
Later branch builds compare with the preceding successful build, and pull requests compare
with the newest successful build of their target branch. The task downloads the matching
released Dotsider binary, verifies its published SHA-256 checksum, and caches it by version
and runtime identifier. Set Exit code 2 means an error-severity budget was exceeded. Reports and the pipeline summary are published before the task fails. Exit code 1 means the command or its inputs were invalid. Add growth budgets immediately. When no stored baseline exists, they are reported as deferred while absolute limits still run; the successful branch build establishes the baseline:
No setting changes between the first run and later comparisons. Set Application publishing stays explicit because the project chooses its target framework, runtime identifier, and publish options. Managed artifacts are isolated by pipeline definition, job, logical target, and RID, and only wholly successful builds are eligible. |