FAQ | This is a LIVE service | Changelog

Skip to content
Snippets Groups Projects

Draft: wip: add tooling needed for all repos

Open E. Kirk requested to merge ek599-repo-tools into master
2 unresolved threads
1 file
+ 17
8
Compare changes
  • Side-by-side
  • Inline
@@ -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
    • This should move up to required, given that TS is in our default stack.

      • Author Owner

        You don't need it atm for non-front end repos though. And what version you'll need will depend on the repo and technically you can do docker based stuff without it.

        I actually moved python up to required not because of python workload code, but because it's needed for pre-commit and poe. For python workload code I'd look in the repo for the specific and/or use the docker route

      • Author Owner

        I could remove python tbh as it's just dependency for pipx (and pre-commit and poe)

        Edited by E. Kirk
      • Author Owner

        In an optional section for python we could include something like pyenv and also nvm for typescript?

      • Please register or sign in to reply
Please register or sign in to reply
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
Loading