mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
commit
7b36ebc098
7 changed files with 25 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
|||
variables:
|
||||
GIT_STRATEGY: fetch
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
GIT_DEPTH: 0
|
||||
DISTRO: fedora # standard distro
|
||||
DOCKER_FILE: packaging/docker/Dockerfile.${DISTRO}
|
||||
DOCKER_TAG: ${CI_COMMIT_REF_NAME}
|
||||
|
@ -8,6 +8,7 @@ variables:
|
|||
DOCKER_IMAGE_DEV: ${DOCKER_IMAGE}/dev-${DISTRO}
|
||||
DOCKER_CLI_EXPERIMENTAL: enabled
|
||||
MAKE_OPTS: "-j16"
|
||||
CMAKE_OPTS: "-DWITH_FPGA=OFF"
|
||||
|
||||
stages:
|
||||
- prepare
|
||||
|
@ -49,7 +50,7 @@ build:source:
|
|||
image: ${DOCKER_IMAGE_DEV}:${DOCKER_TAG}
|
||||
script:
|
||||
- mkdir -p build && cd build
|
||||
- cmake ${CMAKE_OPTS} ..
|
||||
- cmake ${CMAKE_OPTS} ${CMAKE_EXTRA_OPTS} ..
|
||||
- make ${MAKE_OPTS}
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
|
@ -61,7 +62,7 @@ build:source:
|
|||
matrix:
|
||||
- DISTRO: [ fedora, fedora-minimal, debian, rocky, ubuntu ]
|
||||
- DISTRO: fedora-minimal
|
||||
CMAKE_OPTS: -DWITH_API=OFF
|
||||
CMAKE_EXTRA_OPTS: -DWITH_API=OFF
|
||||
-DWITH_CLIENTS=OFF
|
||||
-DWITH_CONFIG=OFF
|
||||
-DWITH_DOC=OFF
|
||||
|
@ -185,6 +186,7 @@ pkg:docker:
|
|||
--target ${TARGET}
|
||||
--build-arg ARCH=${ARCH}
|
||||
--build-arg TRIPLET=${TRIPLET}
|
||||
--build-arg CMAKE_OPTS="${CMAKE_OPTS}"
|
||||
--platform ${PLATFORM}
|
||||
--file ${DOCKER_FILE}
|
||||
--tag ${DOCKER_IMAGE}:${DOCKER_TAG}-${ARCH} .
|
||||
|
|
|
@ -70,11 +70,13 @@ ENV LANG C.UTF-8
|
|||
|
||||
FROM dev AS app
|
||||
|
||||
ARG CMAKE_OPTS
|
||||
|
||||
COPY . /villas/
|
||||
|
||||
RUN rm -rf /villas/build && mkdir /villas/build
|
||||
WORKDIR /villas/build
|
||||
RUN cmake .. && \
|
||||
RUN cmake ${CMAKE_OPTS} .. && \
|
||||
make -j$(nproc) doc && \
|
||||
make -j$(nproc) install && \
|
||||
ldconfig
|
||||
|
|
|
@ -68,7 +68,7 @@ ADD cmake/toolchains/debian-${ARCH}.cmake /
|
|||
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/${TRIPLET}/pkgconfig:/usr/local/lib/${TRIPLET}/pkgconfig
|
||||
|
||||
ENV CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=/debian-${ARCH}.cmake \
|
||||
ENV CMAKE_EXTRA_OPTS="-DCMAKE_TOOLCHAIN_FILE=/debian-${ARCH}.cmake \
|
||||
-DCMAKE_PREFIX_PATH=${PREFIX} \
|
||||
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
|
||||
-DCMAKE_INSTALL_LIBDIR=${PREFIX}/lib/${TRIPLET} \
|
||||
|
@ -103,12 +103,14 @@ ENV LANG C.UTF-8
|
|||
|
||||
FROM dev AS builder
|
||||
|
||||
ARG CMAKE_OPTS
|
||||
|
||||
COPY . /villas/
|
||||
|
||||
RUN rm -rf /villas/build && mkdir /villas/build
|
||||
WORKDIR /villas/build
|
||||
|
||||
RUN cmake ${CMAKE_OPTS} .. && \
|
||||
RUN cmake ${CMAKE_OPTS} ${CMAKE_EXTRA_OPTS} .. && \
|
||||
make -j$(nproc) doc && \
|
||||
make -j$(nproc) install
|
||||
|
||||
|
|
|
@ -102,11 +102,13 @@ RUN groupadd --gid $USER_GID $USERNAME \
|
|||
|
||||
FROM dev AS app
|
||||
|
||||
ARG CMAKE_OPTS
|
||||
|
||||
COPY . /villas/
|
||||
|
||||
WORKDIR /villas/build
|
||||
RUN --mount=type=cache,id=${DISTRO}-${FEDORA_VERSION}-${ARCH}-${REF},target=/villas/build \
|
||||
cmake .. && \
|
||||
cmake ${CMAKE_OPTS} .. && \
|
||||
make -j$(nproc) doc && \
|
||||
make -j$(nproc) install && \
|
||||
ldconfig
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
ARG DISTRO=fedora
|
||||
ARG FEDORA_VERSION=34
|
||||
|
||||
FROM ${DISTRO}:${FEDORA_VERSION} AS dev
|
||||
|
||||
# Toolchain
|
||||
|
@ -31,12 +32,14 @@ ENV LANG C.UTF-8
|
|||
|
||||
FROM dev AS builder
|
||||
|
||||
ARG CMAKE_OPTS
|
||||
|
||||
COPY . /villas/
|
||||
|
||||
RUN rm -rf /villas/build && mkdir /villas/build
|
||||
WORKDIR /villas/build
|
||||
|
||||
RUN cmake -DCPACK_GENERATOR=RPM .. && \
|
||||
RUN cmake ${CMAKE_OPTS} -DCPACK_GENERATOR=RPM .. && \
|
||||
make -j$(nproc) doc && \
|
||||
make -j$(nproc) package
|
||||
|
||||
|
|
|
@ -70,11 +70,13 @@ ENV LANG C.UTF-8
|
|||
|
||||
FROM dev AS app
|
||||
|
||||
ARG CMAKE_OPTS
|
||||
|
||||
COPY . /villas/
|
||||
|
||||
RUN rm -rf /villas/build && mkdir /villas/build
|
||||
WORKDIR /villas/build
|
||||
RUN cmake .. && \
|
||||
RUN cmake ${CMAKE_OPTS} .. && \
|
||||
make -j$(nproc) doc && \
|
||||
make -j$(nproc) install && \
|
||||
ldconfig
|
||||
|
|
|
@ -72,11 +72,13 @@ ENV LANG C.UTF-8
|
|||
|
||||
FROM dev AS app
|
||||
|
||||
ARG CMAKE_OPTS
|
||||
|
||||
COPY . /villas/
|
||||
|
||||
RUN rm -rf /villas/build && mkdir /villas/build
|
||||
WORKDIR /villas/build
|
||||
RUN cmake .. && \
|
||||
RUN cmake ${CMAKE_OPTS} .. && \
|
||||
make -j$(nproc) doc && \
|
||||
make -j$(nproc) install && \
|
||||
ldconfig
|
||||
|
|
Loading…
Add table
Reference in a new issue