There are a bunch of variables in the runner scripts that expect to be set. For instance, POSTGRES_PORT_5432_TCP_ADDR, REDIS_PORT_6379_TCP_PORT and RUBY_VERSION.
Where/how do those usually get set? There are some, like DISCOURSE_COMMIT_HASH, that I can find. The others, not so much.
You can pass any env variable you need, for your benchmark run, to docker run command:
docker run
-e "RUBY_COMMIT_HASH=<ruby commit sha1>"
-e "API_NAME=<API NAME>"
-e "API_PASSWORD=<API PASSWORD>"
...
We use these then in runner scripts. If you need more variables you can pass them also.
POSTGRES_PORT_5432_TCP_ADDR and REDIS_PORT_6379_TCP_PORT are automatically set by docker when you link redis and postgres to our benchmark run container. That way it can access redis and postgres containers.