Files
upstream-zulip/tools/ci/Dockerfile
upstream-mirror 64898b2c79
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
2026-09-15 15:05:30 +05:00

66 lines
1.9 KiB
Docker

# Dockerfile for a generic Debian/Ubuntu image with just the basics we
# need to make it suitable for CI. In particular:
# * a non-root user to run as (a pain to try to do in setup,
# because by then we've already cloned the repo);
# * Git and other basic utilities.
# To rebuild from this file for a given release, say Ubuntu 22.04 jammy:
# docker build . --build-arg=BASE_IMAGE=ubuntu:22.04 --pull --tag=zulip/ci:jammy
# docker push zulip/ci:jammy
#
# tools/ci/build-docker-images will rebuild all images, but not push them.
ARG BASE_IMAGE
# Pin to linux/amd64 so builds on Apple Silicon (or other non-amd64
# hosts) still produce images compatible with our GitHub Actions runners.
FROM --platform=linux/amd64 $BASE_IMAGE
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
# Set the locale.
ENV LC_ALL C.UTF-8
# Extra packages used by Zulip.
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
build-essential \
ca-certificates \
curl \
gettext \
git \
hunspell-en-us \
jq \
libffi-dev \
libfreetype6-dev \
libjpeg-dev \
libldap2-dev \
libpq-dev \
libssl-dev \
libxml2-dev \
libxslt1-dev \
locales \
memcached \
moreutils \
puppet \
python3-dev \
python3-pip \
# We do not pre-install rabbitmq-server, as doing so fixes the
# nodename to be the current hostname, which varies. Letting Zulip
# install rabbitmq allows it to fix the nodename to 'localhost'.
redis-server \
sudo \
supervisor \
unzip \
xvfb \
zlib1g-dev
ARG USERNAME=github
RUN groupadd --gid 1001 $USERNAME \
&& useradd --uid 1001 --gid $USERNAME --shell /bin/bash --create-home $USERNAME \
&& echo "$USERNAME ALL = (ALL) NOPASSWD: ALL" >> /etc/sudoers.d/50-$USERNAME \
&& echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep
USER $USERNAME
CMD ["/bin/sh"]