This repository has been archived on 2024-08-21. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2024-08-21/.buildbot/kivy/Dockerfile
Peter Šurda e5e9955cd9
Record telenium/kivy video
- add a ffmpeg process to kivy tests if it detects running inside docker
- this approach can be reused for other tests that may benefit from a
  video
- it may be possible to do this in bash, outside of python, but that
  would exacerbate the process synchronisation issues, as outlined here:
  - X server must be running before ffmpeg starts, otherwise ffmpeg
    can't record and quits
  - ffmpeg must end before the X server ends, as otherwise it segfaults
    and video will be incomplete
  - ffmpeg must start before the actual tests start and stop after the
    tests stop, otherwise a part of the tests will be missing from the
    recording
- this approach I chose here avoids most synchronisation issues.
  If ffmpeg takes more than 2 seconds to start recording (unlikely), a
  part of the video will be missing. Also if for some reason ffmpeg is
  too slow, then also we may end up with a truncated video, at the end.
- I chose lossless vp9 codec with webm format, this appears to work on
  firefox and chrome. Safari refuses to show the video even though it
  should be supported.
2022-08-09 22:35:55 +08:00

19 lines
389 B
Docker

# A container for buildbot
FROM ubuntu:bionic AS kivy
ENV DEBIAN_FRONTEND=noninteractive
ENV SKIPCACHE=2022-07-20
RUN apt-get update
RUN apt-get install -yq \
build-essential libcap-dev libssl-dev \
libmtdev-dev libpq-dev \
python3-dev python3-pip python3-virtualenv \
xvfb ffmpeg
RUN ln -sf /usr/bin/python3 /usr/bin/python
RUN pip3 install --upgrade setuptools pip