More work on CircleCI testing
Make the container more like CircleCI official images. Install the kitty bundle in it. Run sanitizer and multi-python tests.
This commit is contained in:
parent
dc6e276e39
commit
8c9c777ad3
@ -12,9 +12,31 @@ jobs:
|
|||||||
- run: make FAIL_WARN=-W man
|
- run: make FAIL_WARN=-W man
|
||||||
- run: make FAIL_WARN=-W html
|
- run: make FAIL_WARN=-W html
|
||||||
- run: python3 setup.py linux-package
|
- run: python3 setup.py linux-package
|
||||||
|
lin-35:
|
||||||
|
docker:
|
||||||
|
- image: kovidgoyal/kitty-test:latest
|
||||||
|
environ:
|
||||||
|
CC: gcc
|
||||||
|
CFLAGS: -funsigned-char
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: /opt/py3.5/bin/python3 setup.py build --debug --verbose --sanitize
|
||||||
|
- run: ./asan-launcher test.py
|
||||||
|
lin-37:
|
||||||
|
docker:
|
||||||
|
- image: kovidgoyal/kitty-test:latest
|
||||||
|
environ:
|
||||||
|
CC: clang
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: /opt/py3.7/bin/python3 setup.py build --debug --verbose --sanitize
|
||||||
|
- run: ./asan-launcher test.py
|
||||||
|
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
all_jobs:
|
all_jobs:
|
||||||
jobs:
|
jobs:
|
||||||
- lin-sys
|
- lin-sys
|
||||||
|
- lin-35
|
||||||
|
- lin-37
|
||||||
|
|||||||
@ -1,7 +1,30 @@
|
|||||||
FROM ubuntu:latest
|
FROM ubuntu:latest
|
||||||
|
|
||||||
|
# make Apt non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
||||||
|
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
||||||
|
|
||||||
# System setup
|
# System setup
|
||||||
RUN apt-get update && apt-get install -y python3-flake8 python3-pip python3-pil clang git openssh-client build-essential libreadline-dev zlib1g-dev libssl-dev libbz2-dev libsqlite3-dev libffi-dev
|
RUN apt-get update && mkdir -p /usr/share/man/man1 && apt-get install -y python3-flake8 python3-pip python3-pil clang git apt locales sudo openssh-client ca-certificates tar gzip parallel net-tools netcat unzip zip bzip2 gnupg curl wget build-essential apt-utils
|
||||||
|
|
||||||
|
# Setup circleci user
|
||||||
|
RUN groupadd --gid 3434 circleci \
|
||||||
|
&& useradd --uid 3434 --gid circleci --shell /bin/bash --create-home circleci \
|
||||||
|
&& echo 'circleci ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-circleci \
|
||||||
|
&& echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep \
|
||||||
|
&& echo 'Defaults env_keep += "SW"' >> /etc/sudoers.d/env_keep \
|
||||||
|
&& echo 'Defaults env_keep += "LANG"' >> /etc/sudoers.d/env_keep
|
||||||
|
|
||||||
|
# Set timezone to UTC by default
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
||||||
|
|
||||||
|
# Use unicode
|
||||||
|
RUN locale-gen en_US.UTF-8 || true
|
||||||
|
ENV LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Deps needed for building python
|
||||||
|
RUN apt-get install -y libreadline-dev zlib1g-dev libssl-dev libbz2-dev libsqlite3-dev libffi-dev
|
||||||
|
|
||||||
# kitty deps
|
# kitty deps
|
||||||
RUN apt-get install -y libgl1-mesa-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev libxcb-xkb-dev libdbus-1-dev libxkbcommon-dev libharfbuzz-dev libpng-dev libfontconfig-dev libpython3-dev libxkbcommon-x11-dev python3-pygments
|
RUN apt-get install -y libgl1-mesa-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev libxcb-xkb-dev libdbus-1-dev libxkbcommon-dev libharfbuzz-dev libpng-dev libfontconfig-dev libpython3-dev libxkbcommon-x11-dev python3-pygments
|
||||||
@ -14,5 +37,12 @@ ADD install-python.py /tmp/install-python.py
|
|||||||
RUN python3 /tmp/install-python.py py3.5 https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tar.xz
|
RUN python3 /tmp/install-python.py py3.5 https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tar.xz
|
||||||
RUN python3 /tmp/install-python.py py3.7 https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
|
RUN python3 /tmp/install-python.py py3.7 https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
|
||||||
|
|
||||||
|
# Install kitty bundle
|
||||||
|
ENV SW=/home/circleci/sw
|
||||||
|
RUN mkdir $SW && \
|
||||||
|
curl https://download.calibre-ebook.com/travis/kitty/linux-64.tar.xz | tar xJ -C $SW
|
||||||
|
|
||||||
|
USER circleci
|
||||||
|
|
||||||
LABEL com.circleci.preserve-entrypoint=true
|
LABEL com.circleci.preserve-entrypoint=true
|
||||||
ENTRYPOINT sleep 2h
|
ENTRYPOINT sleep 2h
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user