Skip to content

The list of Redash make commands

Justin Clift edited this page Apr 18, 2024 · 8 revisions

Redash uses GNU Make for running commands.

eg make build, make test, and so on

This page lists the available make commands for Redash, and explains what they do

[TODO - Add a similar page for the yarn commands]

make backend-unit-tests

This starts the Redash docker containers, then runs the Python based unit tests against them.

make bash

Starts an interactive bash shell, connected to the docker container running the main Redash server.

make build

Compiles the Redash front end web interface.

make clean

Shuts down the running Redash docker containers, then removes them and their associated Docker images.

make clean-all

An extension to the make clean command above, this one also removes the Redis, pgautoupgrade, and older Redash Docker images.

make compose_build

Builds the Redash Docker containers. Needs the front end compiled first, otherwise the resulting Docker container will be missing most of the web interface pieces.

make create_database

Starts the PostgreSQL database container, then initialises the Redash database inside it ready for first use.

make down

Shuts down the running Redash docker containers.

make env

This generates an .env file containing environment variables suitable for development Redash builds.

make format

This formats the source code so it will pass our backend lint test in CI.

make frontend-unit-tests

This runs the javascript unit tests for the front end.

make lint

This runs the Python flake8 lint testing script in bin/flake8_tests.sh

make pydeps

This installs the Python dependencies, including poetry, black, and ruff.

make redis-cli

Starts an interactive session of the redis CLI with the local Redash Redis container.

make start

Starts up the local front end web server. Useful if you want to do local frontend development, while still having the Redash backend running in docker containers.

make test

Runs the lint tests on the Python backend source code, then runs the (Python) backend and (Javascript) front end unit tests.

make test_db

This creates the test databases in the local (Redash) PostgreSQL container.

make tests

Seems to be pretty much the same as make test. Needs more investigation.

make up

Starts all of the Redash docker containers. By default it's listening on http://localhost:5001, waiting for the user to run through the initial configuration details.

make watch

Used when doing frontend development. This compiles the front end and runs it locally, but also actively watches for changes in the front end files which are then automatically recompiled.