# Continuous integration

A step of the [Cloud application](https://gradus.kazet.blog/tree/cloud-application) tree on Gradus, in the Environment setup area: First commit to first deploy.

Page: https://gradus.kazet.blog/tree/cloud-application/step/ci-pipeline

Add a CI workflow that installs, builds and tests on every push, so a broken change never quietly slips through.

Usually comes after: [Runnable service](https://gradus.kazet.blog/tree/cloud-application/step/runnable-service).

Leads to: [Container image](https://gradus.kazet.blog/tree/cloud-application/step/container-image), [Project structure & config](https://gradus.kazet.blog/tree/cloud-application/step/project-structure).

## Prompt for your AI assistant

```
Add a CI workflow (GitHub Actions or equivalent) that installs dependencies, builds the project and runs the tests on every push and pull request. Include a smoke test that starts the service and calls its /health route.
```

Every step of the tree: https://gradus.kazet.blog/tree/cloud-application/llms.txt
