A collection of base images used by the AI Arena Match Controller.
Dockerfile: docker/Dockerfile.sc2
This image contains the SC2 game pre-installed.
Dockerfile: docker/Dockerfile.bot
This image contains all the different technologies and dependencies for agents to run in the AI Arena.
To bump the python version:
- Set the
PYTHON_VERSION
environment variable in the Dockerfile to the desired version. This will ensure it is installed in the image. - Update the
python
version range entry in the pyproject.toml. This will ensure compatible dependencies are installed. - Follow the steps below to bump the dependencies and generate a report as they might change based upon the new python version.
The pyproject.toml file describes required dependencies for the bot image.
To bump the dependencies, first set any specifically desired versions (or leave them as "*") in the pyproject.toml
file.
Then run the following command:
# Report the previous requirements.txt file
PREVIOUS_VERSION=v0.0.0 # the previous version arenaclient-bot-base image that we're comparing to
# Take the requirements output from the console of the following command and save it to before.requirements.txt
docker run -it aiarena/arenaclient-bot-base:${PREVIOUS_VERSION} bash -c "pip install poetry && poetry export -f requirements.txt --without-hashes"
# This will build the bot image and then run `poetry update` which will update the `poetry.lock` file with the latest versions.
# After running this, copy the requirements.txt content output from the console and save it to after.requirements.txt
# Note: if you don't get the requirements.txt content output, it likely means something failed.
docker compose -f docker/docker-compose.yml run --rm --build poetry-update
# This will generate a report showing the changes made.
python ./requirements_diff.py