From 65300a2a7b77d0f06b2b18f251ed35e1feee465a Mon Sep 17 00:00:00 2001 From: spwoodcock Date: Mon, 13 Jan 2025 11:21:08 +0000 Subject: [PATCH] docs: add info about decision to use github --- docs/decisions/0005-github.md | 47 +++++++++++++++++++++++++++++++++++ docs/decisions/0006-slack.md | 1 + mkdocs.yml | 2 ++ 3 files changed, 50 insertions(+) create mode 100644 docs/decisions/0005-github.md create mode 100644 docs/decisions/0006-slack.md diff --git a/docs/decisions/0005-github.md b/docs/decisions/0005-github.md new file mode 100644 index 0000000..1e69871 --- /dev/null +++ b/docs/decisions/0005-github.md @@ -0,0 +1,47 @@ +# Use Github as both our code repository & CI/CD + +## Context and Problem Statement + +We need somewhere to + +- Store our code to work on it collaboratively. +- Raise issues and manage documentation around the code. +- Track development via roadmaps and task trackers. + +We also need a pipeline runner (CI/CD): + +- Create build artifacts for deployment. +- Run automated testing. +- Deploy our code into various development environments. + +## Considered Options + +- Github +- Gitlab +- Codeberg +- Bitbucket + +## Decision Outcome + +Github was originally chosen as it provided many benefits for free, over the +competition. + +Cost and simplicity are key factors for us, being a small NGO that receives +project specific funding. + +Since the decision was taken, Github was acquired by Microsoft and has +some practices that we do not agree with (license violations for Copilot, +amongst others). + +Reluctantly, we are stuck with Github due to the migration effort that would +be required. + +### Consequences + +- Good, because free to use, including uncapped CI/CD usage as an NGO. +- Good, has the most visibility and reach of all other platforms. +- Bad, because as an organization it undertakes many practices we do not agree with. +- Bad, the more we use Github workflows (propriatary), the further we are + vendor-locked. +- Bad, because it would be difficult to migrate all of the accumulated issues, + milestones, project boards, subissues, etc. diff --git a/docs/decisions/0006-slack.md b/docs/decisions/0006-slack.md new file mode 100644 index 0000000..8720668 --- /dev/null +++ b/docs/decisions/0006-slack.md @@ -0,0 +1 @@ +# Use Slack to engage with our community members diff --git a/mkdocs.yml b/mkdocs.yml index 5371443..13f33f9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -143,6 +143,8 @@ nav: - Tech Decisions: - React: decisions/0003-react.md - Python: decisions/0004-python.md + - Github: decisions/0005-github.md + - Slack: decisions/0006-slack.md - API Documentation: decisions/0002-mkdocs.md - Technical Diagrams: decisions/0001-draw-io.md - DevOps: