We currently only support MacOS and Linux for development and testing.
- Java 17
- This must be installed, but needn't be the default.
- See Developer System Initialization for configuration if your system has a different default version of Java
- Docker CE
- Docker must be installed to build and run code (For Google workstations, see http://go/installdocker).
- IMPORTANT: be sure to allocate ~70-80% of available memory and swap to the Docker Engine. This should be at least 12GB memory and 2GB swap to avoid OOM isues. See the official instructions for screenshots and instructions for Mac.
- Ruby
- Our team's dev/ops scripts are written in Ruby. Most common operations are launched via the project.rb script at the root of each sub-project.
- You may need to add ruby gems to your path if things are not working. If so follow these instructions.
- Python >= 3.5
- Python is required by some project-specific scripts and by the Google Cloud Platform tools.
- gcloud
- Command-line interface for Google Cloud Platform.
- Recent versions of gcloud are expected to work. However, a specific version is used in CircleCI, which is guaranteed to work: https://github.com/all-of-us/workbench/blob/main/ci/Dockerfile.circle_build
- For use with Stackdriver alert policies and certain other new features you may
need to install
alpha
orbeta
channels via
gcloud components install alpha
For local development, also install:
- yarn
- Node.js >= 18. Currently known to work up to 20.9.0
envsubst
which is part of gettext- Mac:
brew install gettext
- Mac:
Next, follow the steps in Developer System Initialization.