Enable backend AOT with CI OpenAPI freshness check#6
Merged
Conversation
Configure Native AOT for Release builds in the backend project and disable OpenAPI document generation during AOT publish to avoid publish-time failures. Add a CI guard step that regenerates the backend OpenAPI document in non-AOT mode and fails if the checked-in JSON is out of date. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Why
Backend startup performance improvements require Native AOT publishing, but OpenAPI document generation fails during AOT publish. We still want OpenAPI specs committed and current.
What changed
src/AzraTasks.ApiRelease builds (PublishAot, invariant globalization, speed optimization).build-and-deploy.ymlthat builds the backend withPublishAot=falseandOpenApiGenerateDocuments=true, then fails ifsrc/AzraTasks.Api/AzraTasks.Api.jsonis out of date.Notes for reviewers
This keeps AOT publishing and OpenAPI accuracy at the same time by separating concerns: OpenAPI is validated in CI using a non-AOT build, while production publish remains AOT-focused.