The "Definition of Done" in a software project is like the finish line for each task or user story. It's a checklist that ensures everything related to a piece of work is completed to an acceptable standard defined by the acceptance criteria before considering it truly finished.
In our case, we want template applications showcased in the gallery to guarantee developers can
- Discover
- Setup
- Adapt
- Extend
- Deploy and publish
a functional application.
[WARNING] This is a draft
The following checklist must be complete before a template is published
- Standards compliant README.md as the one in the example, is in place. The validator will check that at a minimum, the following sections are in place:
Important Security Notice
,Features
,Getting Started
,Resources
,Guidance
, ash2
subtitles for sections in your README.md. - License is in place. Make sure you choose the correct license.
- Security guidelines are in place.
- Contribution guidelines are in place.
- Code of conduct is in place.
- Issue template or, when multiple templates are provides, they're located in a folder called
ISSUE_TEMPLATE
. - Language, model, and relevant technology topic labels are added, including
azd-templates
andai-azd-templates
. You can find instructions on how to add topics following this link - Repo description is in place, describing the use case and technologies used in the solution.
- GitHub Actions (This refers to .github/workflows/azure-dev.yml or custom workflow to run on a GitHub runner) is in place
- DevContainer (/.devcontainer folder where applicable) configuration is in place
- .devcontainer.json configuration install latest
azd
version - Infrastructure as code is in place (
/infra
folder where applicable, manifest files or code generators in the case ofAspire
and similar ) - Azure services configuration (/azure.yml file) is in place
-
azd up
successfully provisions and deploys a functional app - GitHub Actions run tasks without errors
- DevContainer has been tested locally and runs
- Codespaces run [locally and in browser]
- All tests pass
In the absense of e2e tests, we kindly ask you to make sure that
- The application has been manually tested to work as per the requirement
- Security scan passes without warnings The security scan is using PS Rule with the following custom baseline. It will check that Microsoft Identity is used where supported, and that secrets are not leaked, for services supported.
When a service selected doesn't support Managed Identity, the corresponding issue must have been reported and the security considerations section in the readme, should clearly explain the alternatives.
- Azure Key Vault is a preferred alternative
The following items are not strictly enforced until the 2024-11-30, but may prevent a new template from being added to the gallery
- Global Standard Deployment is used when model supported
- Project code follows standard structure, per language
- Code follows recommended styleguide