ci: add fedora container and build

So that we can test a build with llhttp instead of http-parser.

Co-authored-by: Stephen Gallagher <sgallagh@redhat.com>
Signed-off-by: Sergio Correia <scorreia@redhat.com>
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
This commit is contained in:
Sergio Correia
2024-01-16 09:46:01 +00:00
committed by Stephen Gallagher
parent 8535fdb9cb
commit 00eb347068
3 changed files with 71 additions and 0 deletions

View File

@@ -40,6 +40,7 @@ jobs:
qemu: true
- name: centos7
- name: centos8
- name: fedora
runs-on: ubuntu-latest
name: "Create container: ${{ matrix.container.name }}"
steps:

View File

@@ -62,6 +62,15 @@ jobs:
CC: clang
CMAKE_GENERATOR: Ninja
CMAKE_OPTIONS: -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2
- name: "Linux (Fedora, GCC, llhttp, SHA-256, OpenSSL, libssh2"
id: fedora-gcc-openssl-llhttp
os: ubuntu-latest
container:
name: fedora
env:
CC: gcc
CMAKE_GENERATOR: Ninja
CMAKE_OPTIONS: -DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=pcre2 -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_NTLMCLIENT=OFF -DUSE_SSH=libssh2 -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON -DEXPERIMENTAL_SHA256=ON
- name: "macOS"
id: macos
os: macos-12

61
ci/docker/fedora Normal file
View File

@@ -0,0 +1,61 @@
ARG BASE=fedora:rawhide
FROM ${BASE} AS stream
RUN dnf -y distro-sync
FROM stream AS yum
RUN yum install -y \
which \
bzip2 \
git \
libarchive \
cmake \
gcc \
make \
openssl-devel \
openssh-server \
git-daemon \
java-1.8.0-openjdk-headless \
sudo \
python3 \
krb5-workstation \
krb5-libs \
krb5-devel \
pcre2-devel \
ninja-build \
llhttp-devel
FROM yum AS libssh2
RUN cd /tmp && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.11.0.tar.gz | tar -xz && \
cd libssh2-1.11.0 && \
./configure && \
make && \
make install && \
cd .. && \
rm -rf libssh2-1.11.0
FROM libssh2 AS valgrind
RUN cd /tmp && \
curl --insecure --location --silent --show-error https://sourceware.org/pub/valgrind/valgrind-3.15.0.tar.bz2 | \
tar -xj && \
cd valgrind-3.15.0 && \
./configure && \
make MAKEFLAGS="-j -l$(grep -c ^processor /proc/cpuinfo)" && \
make install && \
cd .. && \
rm -rf valgrind-3.15.0
FROM valgrind AS adduser
ARG UID=""
ARG GID=""
RUN if [ "${UID}" != "" ]; then USER_ARG="--uid ${UID}"; fi && \
if [ "${GID}" != "" ]; then GROUP_ARG="--gid ${GID}"; fi && \
groupadd ${GROUP_ARG} libgit2 && \
useradd ${USER_ARG} --gid libgit2 --shell /bin/bash --create-home libgit2
FROM adduser AS configure
ENV PKG_CONFIG_PATH /usr/local/lib/pkgconfig
RUN mkdir /var/run/sshd
RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local && \
ldconfig