summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2025-10-14 07:50:35 +0300
committerA Farzat <a@farzat.xyz>2025-10-14 07:50:35 +0300
commita18800eb317b0cfde2b775215894c96d921e0756 (patch)
tree74742b4b5f3ef5ea4dd08b792563b2c9aef31e2a
parent67a7a211b1bc7bbd3e0d594f261cb3d4c7987aee (diff)
downloadcsca5028-a18800eb317b0cfde2b775215894c96d921e0756.tar.gz
csca5028-a18800eb317b0cfde2b775215894c96d921e0756.zip
Add a description of the GitHub workflow
-rw-r--r--README.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/README.md b/README.md
index 27c718c..0e0da47 100644
--- a/README.md
+++ b/README.md
@@ -380,3 +380,19 @@ The docker containers and 3 python processes are all kept running even after hos
restarts using systemd services. The systemd services are also instructed to restart
the data collector and data analyser services if they were interrupted by the `USR2`
signal.
+
+### GitHub CI/CD
+
+While the above post-receive hook employs **Continuous Integration** by thoroughly
+testing the code before deployment, and **Continuous Deployment** by deploying the
+code into production on push, it is not necessarily what comes to mind when a CI/CD
+pipeline is discussed.
+
+Many components were missing such as test environment isolation, and both testing
+and deployment were tightly coupled into the same script. Most importantly, **Continuous
+Delivery** was not employed as there was no build stage or output artifacts.
+
+This requirement is achieved by the GitHub workflow stored in `.github/workflows/cicd.yml`,
+which properly builds the react application from jsx to browser-readable js, exports
+the output as a container (artifact), and then deploys the resulting website to
+GitHub pages.