From 2da231bedc813d768871dc066364148b882eede5 Mon Sep 17 00:00:00 2001 From: Edward Kirk <ek599@cam.ac.uk> Date: Thu, 20 Mar 2025 14:00:13 +0000 Subject: [PATCH] wip: add tooling needed for all repos --- .../howtos/development/prepare-your-system.md | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/howtos/development/prepare-your-system.md b/docs/howtos/development/prepare-your-system.md index 2f2eca01..305b3b8b 100644 --- a/docs/howtos/development/prepare-your-system.md +++ b/docs/howtos/development/prepare-your-system.md @@ -13,34 +13,43 @@ always check the READMEs if you're starting work on a product for the first time In order to run and develop our standard web applications, you will need to have the following installed on your system: +Required for all repos: + 1. **Docker.** On Mac and Windows machines you may find [docker desktop](https://www.docker.com/products/docker-desktop/) to be the most useful solution. On Linux, follow the [docker install instructions](https://docs.docker.com/engine/install/). -2. **Docker compose.** This comes installed with Docker desktop although you may need to check that +1. **Docker compose.** This comes installed with Docker desktop although you may need to check that it is enabled in the Docker desktop settings. For Linux machines, you will need to [install the docker compose plugin](https://docs.docker.com/compose/install/linux/). -3. **Git.** GitHub provide a [guide on installing +1. **Git.** GitHub provide a [guide on installing git](https://github.com/git-guides/install-git). You will also need to make sure that you can [sign in to GitLab](site:howtos/git-gitlab/sign-in-to-gitlab). -4. **Python.** (Optional) On Mac machines you can use [homebrew](https://brew.sh/). On +1. **Python.** On Mac machines you can use [homebrew](https://brew.sh/). On both Linux and Mac machines you can use the system Python or use solutions such as [pyenv](https://github.com/pyenv/pyenv) to install specific versions. We try to support the [versions which are currently supported by the Python developers](https://devguide.python.org/versions/) but you'll usually have a better time the more up-to-date your system Python install is. -5. **Node.** (Optional) On Mac machines you can use homebrew for this. For both Linux and Mac you +1. **pre-commit.** +1. **poe.** +1. **pipx.** (to install pre-commit and poe) +1. **gcloud cli.** +1. **1Password cli tools.** (Optional) If you need to run scripts using the 'op' tool, follow the +[official 1Password guide](https://developer.1password.com/docs/cli/get-started/) to install +(step 1) and enable the desktop app integration (step 2). + +Required for some repos: + +1. **Node.** (Optional) On Mac machines you can use homebrew for this. For both Linux and Mac you can use a toolchain manager such as [volta](https://docs.volta.sh/guide/getting-started). The node website has an [installation guide](https://nodejs.org/en/download/package-manager) for other systems or if you prefer to install node directly from the source. -6. **Java.** (Optional) On Mac machines you can use homebrew to install +1. **Java.** (Optional) On Mac machines you can use homebrew to install [OpenJDK](https://formulae.brew.sh/formula/openjdk). Note that **additional commands are required on Mac machines for OpenJDK to be found**. See the homebrew page for details. On Linux, OpenJDK will usually be available in your distribution's package manager. If your project uses the [GitLab package registry](https://docs.gitlab.com/ee/user/packages/maven_repository/), see [how-to configure your Maven settings.xml](site:howtos/java/configure-access-to-gitlab-java-repositories). -7. **1Password cli tools.** (Optional) If you need to run scripts using the 'op' tool, follow the -[official 1Password guide](https://developer.1password.com/docs/cli/get-started/) to install -(step 1) and enable the desktop app integration (step 2). The minimum software you need to have installed to _run_ one of our applications locally is **docker** and **docker compose**. The optional dependencies are required if you want to make -- GitLab