From a259a769fc6858003b30d366ecf2cf1facea0cdc Mon Sep 17 00:00:00 2001 From: Jawny-E Date: Mon, 12 May 2025 14:09:33 +0200 Subject: [PATCH 1/2] readme: add CI information --- README.md | 15 +++++++++++++++ images/CI.png | Bin 0 -> 43994 bytes 2 files changed, 15 insertions(+) create mode 100644 images/CI.png diff --git a/README.md b/README.md index ae60d7c..71865af 100644 --- a/README.md +++ b/README.md @@ -162,3 +162,18 @@ To avoid redundant computations, the REST API checks wether fire risk data has a ### CI/CD and package control +This project uses GitHub Action workflows as a main tool to complete CI and CD tasks. Our CI is formed as a streamlined pipeline completing **Quality tests -> Unit tests -> Build and Publish**, with structure to add acceptance and system tests. This CI pipeline runs every time a PR is created. The idea is to publish after the unit tests has been completed with a "dev" tag, and then publish under "latest" after acceptance and system testing has been completed. Additional notes for future development: +- We would like to implement nightly runs to complete updates to the FireRisk database and other small tasks +- We would like to re-implement GitHub environments which should complement a separation of staging and production, as well as acceptance and system testing +- We would like to improve our integration between Issues and PRs +- Add gitlinting to establish rules for how commit-messages and branches should be named + +![alt text](images/CI.png)*This shows the CI pipeline as is* + +Quality testing is limited to controlling the style of Python code, using the package flake8. + +Unit tests are created using the inbuilt unit.test and pytest modules. This workflow simply runs these as is with the expectation that these pass. + +Building is completed for the collected FireGuardAPI Docker image, the image is published to DockerHub under: [fireguard-api](https://hub.docker.com/repository/docker/700706/fireguard-api/general) + +Development of code on this project has been doe using a GitHub Flow style of branching and commiting. Branches have used a style "scope/change-description", and relevant issues have been linked in the PR text diff --git a/images/CI.png b/images/CI.png new file mode 100644 index 0000000000000000000000000000000000000000..304b49f8a816a66302c45c28e86e20a5ba033bc6 GIT binary patch literal 43994 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 Yw8DXXqIEUgevSd8si#qV_n%k)0r)e|8vp Date: Mon, 12 May 2025 14:24:58 +0200 Subject: [PATCH 2/2] Added suggestion Co-authored-by: Malin <147493106+Malin1601@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71865af..42a6cae 100644 --- a/README.md +++ b/README.md @@ -176,4 +176,4 @@ Unit tests are created using the inbuilt unit.test and pytest modules. This work Building is completed for the collected FireGuardAPI Docker image, the image is published to DockerHub under: [fireguard-api](https://hub.docker.com/repository/docker/700706/fireguard-api/general) -Development of code on this project has been doe using a GitHub Flow style of branching and commiting. Branches have used a style "scope/change-description", and relevant issues have been linked in the PR text +Development of code on this project has been done using a GitHub Flow style of branching and commiting. Branches have used a style "scope/change-description", and relevant issues have been linked in the PR text