Add a Dockerfile for local reference updates.

This allows local users to test and generate reference exports without
installing a specific version of Blender locally.

Linting currently doesn't work due to a python version mismatch.
This commit is contained in:
Ryan Roden-Corrent
2020-12-15 17:41:26 -05:00
parent 0a662248ad
commit 47cca0e758
3 changed files with 53 additions and 0 deletions

28
Dockerfile Normal file
View File

@@ -0,0 +1,28 @@
FROM ubuntu:xenial
ENV BLENDER_VERSION 2.81
RUN apt-get update
RUN apt-get install --no-install-recommends -y \
libsdl1.2debian \
libglu1 python3-pip \
bash \
wget \
bzip2 \
make \
libxi6 \
libxrender1
RUN pip3 install --upgrade pip
RUN pip3 install --upgrade setuptools
COPY requirements.txt .
RUN pip3 install -r requirements.txt
COPY tests/install_blender.sh .
RUN bash install_blender.sh ${BLENDER_VERSION}
VOLUME /workdir
WORKDIR /workdir
ENTRYPOINT ["tests/entrypoint.sh"]

View File

@@ -52,6 +52,27 @@ diff test failure:
- You can run a `make export-blends` followed by a `make update-examples` and commit the changes made to the [reference_exports](tests/reference_exports). However, if you are running on a platform different than the one used by the TravisCI, there is a small chance that regression won't be passing because of float rounding. Then you might need to look at the TravisCI log and fix the remaining issue by hand.
- Or you can use the [update_scene_from_travis.sh](tests/update_scene_from_travis.sh) script, run it with the failing TravisCI job ID as the argument. The script will fetch the scene diffs from the Travis machine to your local git repository and apply it.
## Docker
The reference exports depend on a very specific version of Blender, and may
produce different results with your local blender version. A Dockerfile is
provided to help test and update examples:
To build:
```
sudo docker build . -t godot_blender_exporter:latest
```
To test:
```
docker run --volume .:/tests/reference_exports godot_blender_exporter:latest compare
```
To update reference exports:
```
docker run --volume .:/tests/reference_exports godot_blender_exporter:latest export-blends update-examples
```
## License
This Godot exporter is distributed under the terms of the GNU General

4
tests/entrypoint.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
. ../.envs # generated by install_blender.sh
make BLENDER=${BLENDER_BIN} PYLINT='python3 -m pylint' $@