Restructure repository into output workspace
This commit is contained in:
26
output/docker/ci-runner/Dockerfile
Normal file
26
output/docker/ci-runner/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
# CI harness image mirroring the Actions environment used by act_runner
|
||||
FROM ghcr.io/catthehacker/ubuntu:act-22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install --yes --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
gnupg \
|
||||
jq \
|
||||
make \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
docker.io \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Configure git to trust any mounted workspace path inside the container
|
||||
RUN git config --system --add safe.directory '*'
|
||||
|
||||
WORKDIR /workspace
|
||||
|
||||
ENTRYPOINT ["/bin/bash", "-lc"]
|
||||
CMD ["sleep infinity"]
|
22
output/docker/devtools/Dockerfile
Normal file
22
output/docker/devtools/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
||||
FROM python:3.11-slim
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||
PYTHONDONTWRITEBYTECODE=1
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install --yes --no-install-recommends \
|
||||
git \
|
||||
jq \
|
||||
curl \
|
||||
ca-certificates \
|
||||
make \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /workspace
|
||||
|
||||
COPY ./docker/devtools/requirements.txt /tmp/requirements.txt
|
||||
RUN pip install --no-cache-dir -r /tmp/requirements.txt
|
||||
|
||||
ENTRYPOINT ["bash", "-lc"]
|
||||
CMD ["sleep infinity"]
|
2
output/docker/devtools/requirements.txt
Normal file
2
output/docker/devtools/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Jinja2>=3.1.4
|
||||
jsonschema>=4.22.0
|
34
output/docker/packager/Dockerfile
Normal file
34
output/docker/packager/Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
||||
# Containerised build environment for Cloudron packaging
|
||||
FROM node:20-bullseye
|
||||
|
||||
ARG CLOUDRON_CLI_VERSION=latest
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install --yes --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
jq \
|
||||
python3 \
|
||||
python3-pip \
|
||||
rsync \
|
||||
sudo \
|
||||
tini \
|
||||
unzip \
|
||||
wget \
|
||||
docker.io \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN npm install --global "cloudron@${CLOUDRON_CLI_VERSION}"
|
||||
|
||||
# Create non-root user that matches Cloudron packaging expectations
|
||||
RUN useradd --create-home --shell /bin/bash packager \
|
||||
&& echo 'packager ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/packager
|
||||
|
||||
USER packager
|
||||
WORKDIR /workspace
|
||||
|
||||
ENTRYPOINT ["tini", "--"]
|
||||
CMD ["bash"]
|
Reference in New Issue
Block a user