Merging upstream version 3.5.5 (Closes: #1098233).
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c86ae7dcba
commit
6af28b7e8e
144 changed files with 43534 additions and 11497 deletions
178
.github/workflows/ci.yml
vendored
178
.github/workflows/ci.yml
vendored
|
@ -10,12 +10,12 @@ on:
|
|||
- devel
|
||||
|
||||
env:
|
||||
DEFAULT_PACKAGES: libcmocka-dev zlib1g-dev libssh-dev libssl-dev
|
||||
DEFAULT_PACKAGES: libcmocka-dev zlib1g-dev libssh-dev libssl-dev libpam0g-dev libcurl4-openssl-dev
|
||||
|
||||
jobs:
|
||||
git-branch:
|
||||
name: Get git branch
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
branch-name: ${{ steps.get-git-branch.outputs.branch-name }}
|
||||
steps:
|
||||
|
@ -26,7 +26,7 @@ jobs:
|
|||
else
|
||||
export GIT_BRANCH=${{ github.base_ref }}
|
||||
fi
|
||||
echo "::set-output name=branch-name::$GIT_BRANCH"
|
||||
echo "branch-name=$GIT_BRANCH" >> $GITHUB_OUTPUT
|
||||
|
||||
build:
|
||||
name: ${{ matrix.config.name }}
|
||||
|
@ -37,96 +37,118 @@ jobs:
|
|||
matrix:
|
||||
config:
|
||||
- {
|
||||
name: "Release, Ubuntu 18.04, gcc",
|
||||
os: "ubuntu-18.04",
|
||||
name: "Release, gcc, OpenSSL",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Release",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_TESTS=ON -DENABLE_DNSSEC=ON",
|
||||
tls-lib: "OpenSSL",
|
||||
packages: "",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "Release, Ubuntu 18.04, clang",
|
||||
os: "ubuntu-18.04",
|
||||
name: "Release, gcc, MbedTLS",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Release",
|
||||
dep-build-type: "Release",
|
||||
cc: "clang",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_TESTS=ON -DENABLE_DNSSEC=ON",
|
||||
tls-lib: "MbedTLS",
|
||||
packages: "",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "Debug, Ubuntu 18.04, gcc",
|
||||
os: "ubuntu-18.04",
|
||||
name: "Release, clang",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Release",
|
||||
dep-build-type: "Release",
|
||||
cc: "clang",
|
||||
options: "-DENABLE_TESTS=ON -DENABLE_DNSSEC=ON",
|
||||
tls-lib: "OpenSSL",
|
||||
packages: "",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "Debug, gcc, OpenSSL",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_DNSSEC=ON",
|
||||
tls-lib: "OpenSSL",
|
||||
packages: "valgrind",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "Debug, Ubuntu 18.04, clang",
|
||||
os: "ubuntu-18.04",
|
||||
name: "Debug, gcc, MbedTLS",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_DNSSEC=ON",
|
||||
tls-lib: "MbedTLS",
|
||||
packages: "valgrind",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "Debug, clang",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "clang",
|
||||
options: "-DENABLE_DNSSEC=ON",
|
||||
packages: "valgrind",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "SSH Only",
|
||||
os: "ubuntu-18.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_TLS=OFF -DENABLE_SSH=ON",
|
||||
packages: "valgrind",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "TLS Only",
|
||||
os: "ubuntu-18.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_TLS=ON -DENABLE_SSH=OFF",
|
||||
packages: "valgrind",
|
||||
tls-lib: "OpenSSL",
|
||||
# no valgrind because it does not support DWARF5 yet generated by clang 14
|
||||
packages: "",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "No SSH nor TLS",
|
||||
os: "ubuntu-18.04",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "-DENABLE_TLS=OFF -DENABLE_SSH=OFF",
|
||||
options: "-DENABLE_SSH_TLS=OFF",
|
||||
tls-lib: "",
|
||||
packages: "valgrind",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "ASAN and UBSAN",
|
||||
os: "ubuntu-18.04",
|
||||
name: "ASAN and UBSAN, OpenSSL",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "clang",
|
||||
options: "-DCMAKE_C_FLAGS=-fsanitize=address,undefined -DENABLE_VALGRIND_TESTS=OFF",
|
||||
tls-lib: "OpenSSL",
|
||||
packages: "",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
- {
|
||||
name: "ASAN and UBSAN, MbedTLS",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Debug",
|
||||
dep-build-type: "Release",
|
||||
cc: "clang",
|
||||
options: "-DCMAKE_C_FLAGS=-fsanitize=address,undefined -DENABLE_VALGRIND_TESTS=OFF",
|
||||
tls-lib: "MbedTLS",
|
||||
packages: "",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
|
@ -134,53 +156,85 @@ jobs:
|
|||
}
|
||||
- {
|
||||
name: "ABI Check",
|
||||
os: "ubuntu-latest",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "ABICheck",
|
||||
dep-build-type: "Debug",
|
||||
cc: "gcc",
|
||||
options: "",
|
||||
tls-lib: "OpenSSL",
|
||||
packages: "abi-dumper abi-compliance-checker snap",
|
||||
snaps: "core universal-ctags",
|
||||
make-prepend: "",
|
||||
make-target: "abi-check"
|
||||
}
|
||||
- {
|
||||
name: "DEB Package",
|
||||
os: "ubuntu-22.04",
|
||||
build-type: "Release",
|
||||
dep-build-type: "Release",
|
||||
cc: "gcc",
|
||||
options: "",
|
||||
tls-lib: "OpenSSL",
|
||||
packages: "cmake debhelper valgrind python3-pip",
|
||||
snaps: "",
|
||||
make-prepend: "",
|
||||
make-target: ""
|
||||
}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 100
|
||||
|
||||
- name: Deps-packages
|
||||
shell: bash
|
||||
run: |
|
||||
sudo add-apt-repository ppa:kedazo/libssh-0.7.x -y
|
||||
sudo apt-get update
|
||||
sudo apt-get install $DEFAULT_PACKAGES ${{ matrix.config.packages }}
|
||||
if ${{ matrix.config.snaps != '' }}
|
||||
then sudo snap refresh; sudo snap install ${{ matrix.config.snaps }}
|
||||
fi
|
||||
if ${{ matrix.config.name == 'DEB Package' }}; then
|
||||
pip install apkg
|
||||
apkg system-setup
|
||||
fi
|
||||
|
||||
- name: Deps-uncrustify
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
git clone --branch uncrustify-0.71.0 https://github.com/uncrustify/uncrustify
|
||||
git clone --branch uncrustify-0.77.1 https://github.com/uncrustify/uncrustify
|
||||
cd uncrustify
|
||||
mkdir build
|
||||
cd build
|
||||
CC=${{ matrix.config.cc }} cmake ..
|
||||
make
|
||||
sudo make install
|
||||
if: ${{ matrix.config.name == 'Debug, Ubuntu 18.04, gcc' }}
|
||||
if: ${{ matrix.config.name == 'Debug, gcc, OpenSSL' || matrix.config.name == 'Debug, gcc, MbedTLS' }}
|
||||
|
||||
- name: Deps-libyang
|
||||
shell: bash
|
||||
run: |
|
||||
git clone -b ${{needs.git-branch.outputs.branch-name}} https://github.com/CESNET/libyang.git
|
||||
git clone -b ${{ needs.git-branch.outputs.branch-name }} https://github.com/CESNET/libyang.git
|
||||
cd libyang
|
||||
mkdir build
|
||||
cd build
|
||||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.dep-build-type }} -DENABLE_BUILD_TESTS=OFF ..
|
||||
make -j2
|
||||
sudo make install
|
||||
if ${{ matrix.config.name == 'DEB Package' }}; then
|
||||
apkg build
|
||||
apkg install
|
||||
else
|
||||
mkdir build
|
||||
cd build
|
||||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.dep-build-type }} -DENABLE_TESTS=OFF ..
|
||||
make -j2
|
||||
sudo make install
|
||||
fi
|
||||
|
||||
- name: Build-and-install-package
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
apkg build
|
||||
apkg install
|
||||
if: ${{ matrix.config.name == 'DEB Package' }}
|
||||
|
||||
- name: Deps-libval
|
||||
shell: bash
|
||||
|
@ -190,6 +244,19 @@ jobs:
|
|||
./configure
|
||||
make -j2
|
||||
sudo make install
|
||||
if: ${{ matrix.config.name != 'DEB Package' }}
|
||||
|
||||
- name: Deps-MbedTLS
|
||||
shell: bash
|
||||
run: |
|
||||
git clone -b mbedtls-3.5.2 https://github.com/Mbed-TLS/mbedtls.git
|
||||
cd mbedtls
|
||||
mkdir build
|
||||
cd build
|
||||
CC=${{ matrix.config.cc }} cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On -DENABLE_TESTING=Off ..
|
||||
make -j2
|
||||
sudo make install
|
||||
if: ${{ matrix.config.tls-lib == 'MbedTLS' }}
|
||||
|
||||
- name: Configure
|
||||
shell: bash
|
||||
|
@ -198,6 +265,7 @@ jobs:
|
|||
mkdir build
|
||||
cd build
|
||||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build-type }} ${{ matrix.config.options }} ..
|
||||
if: ${{ matrix.config.name != 'DEB Package' }}
|
||||
|
||||
- name: Build
|
||||
shell: bash
|
||||
|
@ -206,8 +274,12 @@ jobs:
|
|||
export LC_ALL=C.UTF-8
|
||||
export PATH=/snap/bin:${{ github.workspace }}/coverity-tools/bin:$PATH
|
||||
${{ matrix.config.make-prepend }} make ${{ matrix.config.make-target }}
|
||||
if: ${{ matrix.config.name != 'DEB Package' }}
|
||||
|
||||
- name: Test
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run: ctest --output-on-failure
|
||||
run: |
|
||||
export LSAN_OPTIONS=suppressions=${{ github.workspace }}/tests/library_lsan.supp
|
||||
ctest -j4 --output-on-failure
|
||||
if: ${{ matrix.config.name != 'DEB Package' }}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue