2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 01:49:11 +00:00

Add Kerberos V build and test to CI.

This commit is contained in:
Todd C. Miller 2023-10-31 09:54:57 -06:00
parent 145faa3fe9
commit 7ed7b4536f
8 changed files with 37 additions and 18 deletions

View File

@ -4,6 +4,10 @@ jobs:
build_linux: build_linux:
description: Configure, build and package sudo (Linux) description: Configure, build and package sudo (Linux)
parameters: parameters:
krb5:
description: if true, build sudo's Kerberos V support
default: false
type: boolean
ldap: ldap:
description: if true, build sudo's LDAP support description: if true, build sudo's LDAP support
default: false default: false
@ -31,7 +35,7 @@ jobs:
- checkout - checkout
- run: - run:
name: "Building and packaging sudo (Linux)" name: "Building and packaging sudo (Linux)"
command: ./scripts/mkpkg <<# parameters.ldap >>--flavor=ldap --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu <</ parameters.ldap >><<# parameters.wolfssl >>--enable-wolfssl <</ parameters.wolfssl >><<^ parameters.logsrvd >>--disable-log-server --disable-log-client <</ parameters.logsrvd >><<^ parameters.intercept >>--disable-intercept <</ parameters.intercept >><<# parameters.static_sudoers >>--enable-static-sudoers <</ parameters.static_sudoers >>--enable-warnings --enable-werror --enable-sanitizer command: ./scripts/mkpkg <<# parameters.krb5 >>--with-kerb5 <</ parameters.krb5 >><<# parameters.ldap >>--flavor=ldap --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu <</ parameters.ldap >><<# parameters.wolfssl >>--enable-wolfssl <</ parameters.wolfssl >><<^ parameters.logsrvd >>--disable-log-server --disable-log-client <</ parameters.logsrvd >><<^ parameters.intercept >>--disable-intercept <</ parameters.intercept >><<# parameters.static_sudoers >>--enable-static-sudoers <</ parameters.static_sudoers >>--enable-warnings --enable-werror --enable-sanitizer
# Save workspace for subsequent jobs (i.e. test) # Save workspace for subsequent jobs (i.e. test)
- persist_to_workspace: - persist_to_workspace:
root: . root: .
@ -84,6 +88,12 @@ workflows:
version: 2 version: 2
build_and_test: build_and_test:
jobs: jobs:
- build_linux:
name: build-linux-krb5
krb5: true
filters:
branches:
only: main
- build_linux: - build_linux:
name: build-linux-ldap name: build-linux-ldap
ldap: true ldap: true
@ -119,6 +129,10 @@ workflows:
filters: filters:
branches: branches:
only: main only: main
- test_linux:
name: test-linux-krb5
requires:
- build-linux-krb5
- test_linux: - test_linux:
name: test-linux-ldap name: test-linux-ldap
requires: requires:

View File

@ -3,7 +3,8 @@ FROM docker.io/library/debian:latest
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \ DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \ build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \
libaudit-dev libldap2-dev libpam0g-dev libpython3-dev libsasl2-dev \ libaudit-dev libkrb5-dev libldap2-dev libpam0g-dev libpython3-dev \
libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev lsb-release \ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev \
ncurses-term openssh-client pkg-config procps python3-dev ssh zlib1g-dev lsb-release ncurses-term openssh-client pkg-config procps python3-dev \
ssh zlib1g-dev
RUN useradd -ms /bin/bash build RUN useradd -ms /bin/bash build

View File

@ -3,7 +3,8 @@ FROM docker.io/library/debian:testing
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \ DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \ build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \
libaudit-dev libldap2-dev libpam0g-dev libpython3-dev libsasl2-dev \ libaudit-dev libkrb5-dev libldap2-dev libpam0g-dev libpython3-dev \
libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev lsb-release \ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev \
ncurses-term openssh-client pkg-config procps python3-dev ssh zlib1g-dev lsb-release ncurses-term openssh-client pkg-config procps python3-dev \
ssh zlib1g-dev
RUN useradd -ms /bin/bash build RUN useradd -ms /bin/bash build

View File

@ -1,7 +1,7 @@
FROM docker.io/library/fedora:latest FROM docker.io/library/fedora:latest
ENV TZ=America/Denver ENV TZ=America/Denver
RUN dnf -y install audit-libs-devel cyrus-sasl-devel glibc-devel \ RUN dnf -y install audit-libs-devel cyrus-sasl-devel glibc-devel krb5-devel \
libasan libubsan libselinux-devel libsepol-devel make openldap-devel \ libasan libubsan libselinux-devel libsepol-devel make openldap-devel \
openssl-devel pam-devel python3-devel rpm-build zlib-devel binutils \ openssl-devel pam-devel python3-devel rpm-build zlib-devel binutils \
ed gcc gdb git openssh pkg-config procps which ed gcc gdb git openssh pkg-config procps which

View File

@ -1,7 +1,7 @@
FROM docker.io/library/fedora:rawhide FROM docker.io/library/fedora:rawhide
ENV TZ=America/Denver ENV TZ=America/Denver
RUN dnf -y install audit-libs-devel cyrus-sasl-devel glibc-devel \ RUN dnf -y install audit-libs-devel cyrus-sasl-devel glibc-devel krb5-devel \
libasan libubsan libselinux-devel libsepol-devel make openldap-devel \ libasan libubsan libselinux-devel libsepol-devel make openldap-devel \
openssl-devel pam-devel python3-devel rpm-build zlib-devel binutils \ openssl-devel pam-devel python3-devel rpm-build zlib-devel binutils \
ed gcc gdb git openssh pkg-config procps which ed gcc gdb git openssh pkg-config procps which

View File

@ -3,7 +3,8 @@ FROM docker.io/library/ubuntu:devel
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \ DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \ build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \
libaudit-dev libldap2-dev libpam0g-dev libpython3-dev libsasl2-dev \ libaudit-dev libkrb5-dev libldap2-dev libpam0g-dev libpython3-dev \
libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev lsb-release \ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev \
ncurses-term openssh-client pkg-config procps python3-dev ssh zlib1g-dev lsb-release ncurses-term openssh-client pkg-config procps python3-dev \
ssh zlib1g-dev
RUN useradd -ms /bin/bash build RUN useradd -ms /bin/bash build

View File

@ -3,7 +3,8 @@ FROM docker.io/library/ubuntu:latest
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \ DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \ build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \
libaudit-dev libldap2-dev libpam0g-dev libpython3-dev libsasl2-dev \ libaudit-dev libkrb5-dev libldap2-dev libpam0g-dev libpython3-dev \
libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev lsb-release \ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev \
ncurses-term openssh-client pkg-config procps python3-dev ssh zlib1g-dev lsb-release ncurses-term openssh-client pkg-config procps python3-dev \
ssh zlib1g-dev
RUN useradd -ms /bin/bash build RUN useradd -ms /bin/bash build

View File

@ -3,7 +3,8 @@ FROM docker.io/library/ubuntu:rolling
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \ RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \ DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \ build-essential curl dpkg-dev ed fakeroot file git libapparmor-dev \
libaudit-dev libldap2-dev libpam0g-dev libpython3-dev libsasl2-dev \ libaudit-dev libkrb5-dev libldap2-dev libpam0g-dev libpython3-dev \
libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev lsb-release \ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev libwolfssl-dev \
ncurses-term openssh-client pkg-config procps python3-dev ssh zlib1g-dev lsb-release ncurses-term openssh-client pkg-config procps python3-dev \
ssh zlib1g-dev
RUN useradd -ms /bin/bash build RUN useradd -ms /bin/bash build