Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
![Python](https://img.shields.io/badge/python-v3.12.x-orange)
![Python](https://img.shields.io/badge/platform-linux-blue)
[![Build Status](https://github.com/joagonzalez/python-seed-v2/actions/workflows/pipeline.yml/badge.svg)](https://github.com/joagonzalez/python-seed-v2/actions/workflows/pipeline.yml)
[![Documentation](https://readthedocs.org/projects/python-seed/badge/?)](https://python-seed.readthedocs.io/en/latest/)
[![Documentation](https://readthedocs.org/projects/python-seed-v2/badge/?)](https://python-seed-v2.readthedocs.io/en/latest/)
[![Coverage Status](https://coveralls.io/repos/github/joagonzalez/python-seed-v2/badge.svg?branch=master)](https://coveralls.io/github/joagonzalez/python-seed-v2?branch=master)

---
Expand Down Expand Up @@ -49,16 +49,16 @@ Static documentation is generated at *docs/* folder and is deployed when a relea

Docs URL is published in badge in this README.

Once configured via the Read the Docs UI, a webhook is automatically added to the repository. This webhook listens for new merge commits to the `master` branch and triggers the documentation rebuild process by sending an HTTPS request to Read the Docs.

## CICD Pipeline
The pipeline uses a custom docker agent with all the neccessary requirements. It also uses conditionals to fork workflow executions depending on branch naming, in this way we can achieve our goal using only one pipeline. Callback on success and on failure are used in order to send messages to a specific telegram bot.
The pipeline leverages GitHub Actions, installing all required dependencies directly on the GitHub-hosted runner. Conditional steps are used to control workflow execution based on branch naming, allowing a single pipeline to handle different scenarios. Notifications on success and failure are sent to a specific Telegram bot using callbacks.

<img src="docs/pipelines/pipeline.png" />

## Build
```bash
make build # build api image, only for development
make build-doc # build documentation image, only for development
make build-github-actions-builder # build a new image to be used as CI CD pipeline builder
build-images # build api image and documentation image, only for development
```

## Run
Expand All @@ -72,7 +72,13 @@ make code-quality
make test
make doc # run mkdocs development server
make run # run api using local uvicorn
make deploy-local # deploy docker-compose stack locally
```

To deploy the application locally on a Minikube Kubernetes cluster, use the provided Makefile command:

```bash
# Not implemented yet
make deploy-minikube # deploys the application to your local Minikube cluster
```

### Production
Expand Down
Binary file modified docs/pipelines/pipeline.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 9 additions & 9 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
mkdocs-autorefs==0.5.0
mkdocstrings==0.24.0
mkdocstrings-python==1.8.0
markdown==3.6
mkdocs==1.6.0
mkdocs-material==9.5.21
mdx_truly_sane_lists==1.3
pymdown-extensions==10.8.1
jinja2==3.1.4
mkdocs-autorefs
mkdocstrings
mkdocstrings-python
markdown
mkdocs
mkdocs-material
mdx_truly_sane_lists
pymdown-extensions
jinja2