Skip to content

[2.3] papd: Use cupsGetOptions() to get printer URI #1058

[2.3] papd: Use cupsGetOptions() to get printer URI

[2.3] papd: Use cupsGetOptions() to get printer URI #1058

Workflow file for this run

name: Checks
on:
push:
branches:
- main
- branch-*
paths-ignore:
- 'CONTRIBUTORS'
- 'NEWS'
pull_request:
branches:
- main
- branch-*
types:
- opened
- synchronize
- reopened
paths-ignore:
- 'CONTRIBUTORS'
- 'NEWS'
env:
APT_PACKAGES: |
libtool libtool-bin automake autoconf libssl-dev libgcrypt-dev libkrb5-dev libpam0g-dev \
libdb-dev libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev libcups2-dev \
libkrb5-dev quota libtirpc-dev libltdl-dev tcpd libwrap0-dev
jobs:
integration_test:
name: Ubuntu
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --assume-yes --no-install-recommends ${{ env.APT_PACKAGES }}
- name: Bootstrap
run: ./bootstrap
- name: Configure
run: ./configure --enable-krbV-uam --enable-pgp-uam --enable-systemd --enable-quota --with-cracklib --with-libtirpc
- name: Build
run: make -j $(nproc) all
- name: Run tests
run: make check
- name: Run distribution tests
run: make distcheck
build-debian:
name: Debian
runs-on: ubuntu-22.04
container:
image: debian:latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
apt-get update
apt-get install --assume-yes --no-install-recommends ${{ env.APT_PACKAGES }}
- name: Bootstrap
run: ./bootstrap
- name: Configure
run: ./configure --enable-debian --enable-krbV-uam --enable-pgp-uam --enable-quota --with-cracklib --with-libtirpc
- name: Build
run: make -j $(nproc) all
- name: Run tests
run: make check
build-fedora:
name: Fedora
runs-on: ubuntu-22.04
container:
image: fedora:rawhide
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
dnf -y install openssl-devel libgcrypt-devel libdb-devel automake libtool avahi-devel cups-devel krb5-devel libacl-devel openldap-devel cracklib-devel
- name: Bootstrap
run: ./bootstrap
- name: Configure
run: ./configure --enable-pgp-uam --enable-krbV-uam --enable-redhat-sysv --with-cracklib=/usr/share/cracklib
- name: Build
run: make -j $(nproc) all
- name: Run tests
run: make check
build-macos:
name: macOS
runs-on: macos-13
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_AUTO_UPDATE: 1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: brew install automake libressl pkg-config krb5 berkeley-db
- name: Bootstrap
run: ./bootstrap
- name: Configure
# DDP and related services in the absence of an AppleTalk stack on macOS
run: |
./configure \
--with-ssl-dir=/usr/local/opt/libressl \
--with-bdb=/usr/local/opt/berkeley-db \
--enable-pgp-uam \
--enable-krbV-uam \
--disable-ddp
- name: Build
run: make -j $(nproc) all
- name: Run tests
run: make check
build-netbsd:
name: "NetBSD"
runs-on: ubuntu-22.04
permissions:
contents: read
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Build on VM"
uses: vmactions/netbsd-vm@v1.0.3
with:
release: 9.3
copyback: false
prepare: |
pkg_add gcc13 autoconf automake libtool pkg-config db5 libgcrypt libressl gmake cups
run: |
./bootstrap
./configure MAKE=gmake PKG_CONFIG_PATH=/usr/pkg/lib/pkgconfig --with-bdb=/usr/pkg --with-libgcrypt-dir=/usr/pkg --enable-netbsd
gmake -j2 all
build-solaris:
name: "Solaris"
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Build on VM"
uses: vmactions/solaris-vm@v1.0.1
with:
release: 11.4
prepare: |
pkg install autoconf automake libtool pkg-config gcc libgcrypt
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz --no-check-certificate
wget https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz --no-check-certificate
tar xvf autoconf-2.71.tar.gz
tar xvf automake-1.16.5.tar.gz
cd autoconf-2.71
./configure --prefix=/usr
make
make install
cd ../automake-1.16.5
./configure --prefix=/usr
make
make install
cd ..
run: |
./bootstrap
./configure MAKE=gmake --enable-cups=no
gmake -j2 all
static_analysis:
name: Static Analysis
runs-on: ubuntu-22.04
env:
# Directory where build-wrapper output will be placed
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory
# Run only if not originating from a fork
if: ${{ !github.event.pull_request.head.repo.fork }}
steps:
- uses: actions/checkout@v4
with:
# Shallow clones should be disabled for a better relevancy of analysis
fetch-depth: 0
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --assume-yes --no-install-recommends ${{ env.APT_PACKAGES }}
- name: Install sonar-scanner and build-wrapper
uses: SonarSource/sonarcloud-github-c-cpp@v1
- name: Run build-wrapper
run: |
mkdir -p ${{ env.BUILD_WRAPPER_OUT_DIR }}
./bootstrap
./configure
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -j $(nproc) all
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"