mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 00:51:24 +03:00
99127d20ce
- Coverity scan analysis tasks run as scheduled cron jobs - Stage separation for Build, Test and Coverity scan phase - Travis CI now uses Fedora container to build and run tests - Containers are accessible from Docker Hub and failed builds can be reproduced and examined - coverity.sh: separate build and upload
39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
## Create Dockerfile that builds container suitable for systemd build
|
|
## This container runs as non-root user by deafult
|
|
|
|
# Use the latest stable version of fedora
|
|
FROM fedora:latest
|
|
|
|
# Demand the specification of non-root username
|
|
ARG DOCKER_USER
|
|
ARG DOCKER_USER_UID
|
|
ARG DOCKER_USER_GID
|
|
|
|
# Copy the requirements into the container at /tmp
|
|
COPY requirements.txt /tmp/
|
|
|
|
# Install the requirements
|
|
# RUN dnf -y update FIXME
|
|
RUN dnf -y install $(cat '/tmp/requirements.txt')
|
|
# clean step to prevent cache and metadata corruption
|
|
RUN dnf clean all
|
|
RUN dnf -y builddep systemd
|
|
|
|
# Add non-root user and chown the project dir
|
|
RUN groupadd -g $DOCKER_USER_GID $DOCKER_USER
|
|
RUN useradd --create-home --shell /bin/bash -u $DOCKER_USER_UID -g $DOCKER_USER_GID -G wheel $DOCKER_USER
|
|
ENV HOME /home/$DOCKER_USER
|
|
ENV PROJECTDIR $HOME/systemd
|
|
|
|
# Copy content to the project directory
|
|
COPY . $PROJECTDIR
|
|
|
|
# Greant user all permissions to the project dir
|
|
RUN chown -R $DOCKER_USER $PROJECTDIR
|
|
|
|
# Switch to noroot user by default
|
|
USER $DOCKER_USER
|
|
|
|
# Update workdir to user home dir
|
|
WORKDIR $PROJECTDIR
|