60 lines
1.3 KiB
Docker
60 lines
1.3 KiB
Docker
# Development and Testing Container for SharedInbox
|
|
# Replaces the Nix shell environment.
|
|
FROM ghcr.io/cirruslabs/flutter:3.44.0
|
|
|
|
# Install Linux desktop build and test dependencies, Go, NodeJS, python3, and utilities
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
clang \
|
|
cmake \
|
|
ninja-build \
|
|
pkg-config \
|
|
libgtk-3-dev \
|
|
liblzma-dev \
|
|
libsecret-1-dev \
|
|
libgcrypt20-dev \
|
|
libjsoncpp-dev \
|
|
sqlite3 \
|
|
iproute2 \
|
|
netcat-openbsd \
|
|
xvfb \
|
|
libosmesa6 \
|
|
libegl1 \
|
|
lld \
|
|
git \
|
|
curl \
|
|
jq \
|
|
python3-pip \
|
|
nodejs \
|
|
npm \
|
|
hugo \
|
|
lcov \
|
|
rsync \
|
|
openssh-client \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Task runner
|
|
RUN curl -fsSL https://taskfile.dev/install.sh \
|
|
| sh -s -- -b /usr/local/bin v3.48.0
|
|
|
|
# Install Dagger CLI
|
|
RUN curl -fsSL https://dl.dagger.io/dagger/install.sh \
|
|
| DAGGER_VERSION=0.20.8 BIN_DIR=/usr/local/bin sh
|
|
|
|
# Install python packages (Play Store API clients + pre-commit)
|
|
RUN pip install --break-system-packages --no-cache-dir \
|
|
google-api-python-client \
|
|
google-auth-httplib2 \
|
|
httplib2 \
|
|
pre-commit==4.5.1
|
|
|
|
# Install acpx CLI globally
|
|
RUN npm install -g acpx@0.10.0
|
|
|
|
# Setup user "ci"
|
|
RUN useradd -m -s /bin/bash ci
|
|
USER ci
|
|
ENV HOME=/home/ci
|
|
ENV PATH=/home/ci/.pub-cache/bin:$PATH
|
|
|
|
WORKDIR /src
|