summaryrefslogtreecommitdiffstats
path: root/third_party/heimdal/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/heimdal/.github/workflows')
-rw-r--r--third_party/heimdal/.github/workflows/coverity.yml68
-rw-r--r--third_party/heimdal/.github/workflows/linux-mit-interop.yml117
-rw-r--r--third_party/heimdal/.github/workflows/linux.yml146
-rw-r--r--third_party/heimdal/.github/workflows/osx.yml124
-rw-r--r--third_party/heimdal/.github/workflows/scanbuild.yml67
-rw-r--r--third_party/heimdal/.github/workflows/ubsan.yml133
-rw-r--r--third_party/heimdal/.github/workflows/valgrind.yml71
-rw-r--r--third_party/heimdal/.github/workflows/windows.yml94
8 files changed, 820 insertions, 0 deletions
diff --git a/third_party/heimdal/.github/workflows/coverity.yml b/third_party/heimdal/.github/workflows/coverity.yml
new file mode 100644
index 0000000..78ec7e5
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/coverity.yml
@@ -0,0 +1,68 @@
+name: Linux Coverity Build
+
+on:
+ push:
+ # Pushes to this branch get the scan-build treatment
+ branches:
+ - 'coverity*'
+
+jobs:
+ linux:
+ #if: ${{ secrets.COVERITY_SCAN_TOKEN }} != ''
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang]
+ include:
+ - name: linux-clang
+ os: ubuntu-22.04
+ compiler: clang
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Install packages
+ if: startsWith(matrix.os, 'ubuntu')
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison comerr-dev flex libcap-ng-dev libdb-dev libedit-dev libjson-perl libldap2-dev libncurses5-dev libperl4-corelibs-perl libsqlite3-dev libkeyutils-dev pkg-config python3 ss-dev texinfo unzip netbase keyutils ldap-utils gdb apport curl libmicrohttpd-dev clang-tools clang-format jq valgrind
+ # Temporary workaround for:
+ # https://github.com/actions/virtual-environments/issues/3185
+ sudo hostname localhost
+ - name: Download Coverity Build Tool
+ env:
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ PROJECT: ${{ secrets.COVERITY_SCAN_PROJECT }}
+ run: |
+ wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=$PROJECT" -O cov-analysis-linux64.tar.gz
+ mkdir cov-analysis-linux64
+ tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ run: |
+ /bin/sh ./autogen.sh
+ export PATH="$PWD/cov-analysis-linux64/bin:$PATH"
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --enable-maintainer-mode --enable-developer --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="-Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations"
+ ulimit -c unlimited
+ # We don't want to scan-build libedit nor SQLite3 because ETOOSLOW
+ (cd lib/libedit && make -j4)
+ (cd lib/sqlite && make -j4)
+ cov-build --dir cov-int make -j4
+ tar czvf ../heimdal.tgz cov-int
+ - name: Submit the result to Coverity Scan
+ env:
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
+ PROJECT: ${{ secrets.COVERITY_SCAN_PROJECT }}
+ run: |
+ curl \
+ --form "token=$TOKEN" \
+ --form "email=$EMAIL" \
+ --form "file=@heimdal.tgz" \
+ --form version="$(git rev-parse HEAD)" \
+ --form description="$GITHUB_REF / $GITHUB_SHA" "https://scan.coverity.com/builds?project=$PROJECT"
diff --git a/third_party/heimdal/.github/workflows/linux-mit-interop.yml b/third_party/heimdal/.github/workflows/linux-mit-interop.yml
new file mode 100644
index 0000000..d1837a0
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/linux-mit-interop.yml
@@ -0,0 +1,117 @@
+name: Linux Build
+
+on:
+ push:
+ branches:
+ - 'interop-mit*'
+
+jobs:
+ unix:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang]
+ include:
+ - name: linux-clang
+ os: ubuntu-22.04
+ compiler: clang
+ cflags: ''
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Checkout MIT
+ uses: actions/checkout@v3
+ with:
+ repository: krb5/krb5
+ path: mit
+ - name: Install Heimdal dependencies
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison comerr-dev flex doxygen
+ sudo apt-get install -y libcap-ng-dev libdb-dev libedit-dev libjson-perl
+ sudo apt-get install -y libldap2-dev libncurses5-dev libperl4-corelibs-perl
+ sudo apt-get install -y libsqlite3-dev libkeyutils-dev pkg-config python3
+ sudo apt-get install -y ss-dev texinfo unzip netbase keyutils ldap-utils
+ sudo apt-get install -y gdb apport curl libmicrohttpd-dev jq valgrind
+ - name: Install MIT Kerberos dependencies
+ run: |
+ sudo apt-get install -y gettext libcmocka-dev libresolv-wrapper libsasl2-dev libssl-dev python3-kdcproxy python3-pip slapd tcsh
+ pip3 install pyrad
+ # Temporary workaround for:
+ # https://github.com/actions/virtual-environments/issues/3185
+ sudo hostname localhost
+ - name: Build MIT
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd mit/src
+ autoreconf
+ ./configure --enable-maintainer-mode --with-ldap --with-crypto-impl=openssl --prefix=$HOME/mitkrb5
+ make -j4 $MAKEVARS
+ make install
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ /bin/sh ./autogen.sh
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --enable-maintainer-mode --enable-developer --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="${{ matrix.cflags }} -Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations" --with-mitkrb5=$HOME/mitkrb5
+ make -j4
+ - name: Test
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build
+ ulimit -c unlimited
+ make check
+ - name: Make Install
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build || true
+ make DESTDIR=/tmp/h5l install
+ cd /tmp/h5l
+ tar czf $HOME/heimdal-install-linux-${{ matrix.compiler }}.tgz .
+ - name: Core dump stacks
+ run: |
+ echo "thread apply all bt" > /tmp/x
+ find . -name core -print | while read core; do gdb -batch -x x `file "$core"|sed -e "s/^[^']*'//" -e "s/[ '].*$//"` "$core"; done
+ if [ "$(find . -name core -print | wc -l)" -gt 0 ]; then false; fi
+ - name: Test logs
+ run: |
+ find build -depth -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | tar -czf $HOME/logs-linux-${{ matrix.compiler }}.tgz --verbatim-files-from --files-from -
+ find build -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Failed Test logs
+ if: ${{ failure() }}
+ run: |
+ find build -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Make Dist
+ run: |
+ cd build
+ make dist
+ make distclean
+ if [ "$(git ls-files -o|grep -v ^build/ | wc -l)" -ne 0 ]; then
+ echo "Files not removed by make distclean:"
+ git ls-files -o|grep -v ^build/
+ fi
+ - name: Upload Install Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Install Tarball
+ path: '~/heimdal-install-linux-${{ matrix.compiler }}.tgz'
+ - name: Upload Dist Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Dist Tarball
+ path: 'build/heimdal-*.tar.gz'
+ - name: Upload Logs Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Test Logs
+ path: '~/logs-linux-${{ matrix.compiler }}.tgz'
diff --git a/third_party/heimdal/.github/workflows/linux.yml b/third_party/heimdal/.github/workflows/linux.yml
new file mode 100644
index 0000000..1bbfbb4
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/linux.yml
@@ -0,0 +1,146 @@
+name: Linux Build
+
+on:
+ push:
+ branches:
+ - 'master'
+ - 'heimdal-7-1-branch'
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.am'
+ - '**.m4'
+ - '**.ac'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/linux.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+ pull_request:
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.am'
+ - '**.m4'
+ - '**.ac'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/linux.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+jobs:
+ unix:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang, linux-gcc]
+ include:
+ - name: linux-clang
+ os: ubuntu-22.04
+ compiler: clang
+ cflags: ''
+ - name: linux-gcc
+ os: ubuntu-22.04
+ compiler: gcc
+ cflags: '-Wnonnull'
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Install packages
+ if: startsWith(matrix.os, 'ubuntu')
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison comerr-dev flex doxygen
+ sudo apt-get install -y libcap-ng-dev libdb-dev libedit-dev libjson-perl
+ sudo apt-get install -y libldap2-dev libncurses5-dev libperl4-corelibs-perl
+ sudo apt-get install -y libsqlite3-dev libkeyutils-dev pkg-config python3
+ sudo apt-get install -y ss-dev texinfo unzip netbase keyutils ldap-utils
+ sudo apt-get install -y gdb apport curl libmicrohttpd-dev jq valgrind
+ # Temporary workaround for:
+ # https://github.com/actions/virtual-environments/issues/3185
+ sudo hostname localhost
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ /bin/sh ./autogen.sh
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --enable-maintainer-mode --enable-developer --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="${{ matrix.cflags }} -Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations"
+ make -j4
+ - name: Test
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build
+ ulimit -c unlimited
+ make check
+ - name: Make Install
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build || true
+ make DESTDIR=/tmp/h5l install
+ cd /tmp/h5l
+ tar czf $HOME/heimdal-install-linux-${{ matrix.compiler }}.tgz .
+ - name: Core dump stacks
+ run: |
+ echo "thread apply all bt" > /tmp/x
+ find . -name core -print | while read core; do gdb -batch -x x `file "$core"|sed -e "s/^[^']*'//" -e "s/[ '].*$//"` "$core"; done
+ if [ "$(find . -name core -print | wc -l)" -gt 0 ]; then false; fi
+ - name: Test logs
+ run: |
+ find build -depth -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | tar -czf $HOME/logs-linux-${{ matrix.compiler }}.tgz --verbatim-files-from --files-from -
+ find build -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Failed Test logs
+ if: ${{ failure() }}
+ run: |
+ find build -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Make Dist
+ run: |
+ cd build
+ make dist
+ make distclean
+ if [ "$(git ls-files -o|grep -v ^build/ | wc -l)" -ne 0 ]; then
+ echo "Files not removed by make distclean:"
+ git ls-files -o|grep -v ^build/
+ fi
+ - name: Upload Install Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Install Tarball
+ path: '~/heimdal-install-linux-${{ matrix.compiler }}.tgz'
+ - name: Upload Dist Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Dist Tarball
+ path: 'build/heimdal-*.tar.gz'
+ - name: Upload Logs Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Test Logs
+ path: '~/logs-linux-${{ matrix.compiler }}.tgz'
diff --git a/third_party/heimdal/.github/workflows/osx.yml b/third_party/heimdal/.github/workflows/osx.yml
new file mode 100644
index 0000000..29aa05f
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/osx.yml
@@ -0,0 +1,124 @@
+name: OS X Build
+
+on:
+ push:
+ branches:
+ - 'master'
+ - 'osx-build'
+ - 'heimdal-7-1-branch'
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.am'
+ - '**.m4'
+ - '**.ac'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/osx.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+ pull_request:
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.am'
+ - '**.m4'
+ - '**.ac'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/osx.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+jobs:
+ osx:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [osx-clang]
+ include:
+ - name: osx-clang
+ os: macos-latest
+ compiler: clang
+ steps:
+ - name: Install packages
+ run: |
+ echo "bison, flex, ncurses, texinfo, and unzip are in the base OS."
+ echo "berkeley-db, perl, python3, curl, and jq are installed in the"
+ echo "base image already."
+ brew install autoconf automake libtool cpanm texinfo texi2html
+ sudo cpanm install JSON
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ run: |
+ /bin/sh ./autogen.sh
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --disable-heimdal-documentation --disable-afs-support --enable-maintainer-mode --enable-developer $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="-Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations" CFLAGS="-O0 -g -ggdb3"
+ ulimit -c unlimited
+ PATH=/usr/local/opt/texinfo/bin:$PATH
+ export PATH
+ make -j4
+ #- name: Setup upterm session
+ # uses: lhotari/action-upterm@v1
+ # with:
+ # limit-access-to-actor: true
+ - name: Test
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ run: |
+ set -vx
+ sudo lsof -nP -i:49188 || true
+ cd build
+ make check
+ - name: Install
+ run: |
+ cd build || true
+ make DESTDIR=/tmp/h5l install
+ cd /tmp/h5l
+ tar czf $HOME/heimdal-install-osx.tgz .
+ - name: Test logs
+ run: |
+ find build -depth -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/' | cpio -o > $HOME/logs-osx.cpio
+ find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat
+ - name: Failed Test logs
+ if: ${{ failure() }}
+ run: |
+ find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat
+ - name: Upload Install Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Install Tarball
+ path: '~/heimdal-install-osx.tgz'
+ - name: Upload Artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: Upload Test Logs
+ path: '~/logs-osx.cpio'
diff --git a/third_party/heimdal/.github/workflows/scanbuild.yml b/third_party/heimdal/.github/workflows/scanbuild.yml
new file mode 100644
index 0000000..472b0b7
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/scanbuild.yml
@@ -0,0 +1,67 @@
+name: Linux Static Analyzer Build
+
+on:
+ push:
+ # Pushes to this branch get the scan-build treatment
+ branches:
+ - 'scan-build*'
+
+ pull_request:
+ # Changing this build gets it to run
+ paths:
+ - '.github/workflows/scanbuild.yml'
+
+jobs:
+ unix:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang]
+ include:
+ - name: linux-clang
+ os: ubuntu-22.04
+ compiler: clang
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Install packages
+ if: startsWith(matrix.os, 'ubuntu')
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison comerr-dev flex libcap-ng-dev libdb-dev libedit-dev libjson-perl libldap2-dev libncurses5-dev libperl4-corelibs-perl libsqlite3-dev libkeyutils-dev pkg-config python3 ss-dev texinfo unzip netbase keyutils ldap-utils gdb apport curl libmicrohttpd-dev clang-tools clang-format jq valgrind
+ # Temporary workaround for:
+ # https://github.com/actions/virtual-environments/issues/3185
+ sudo hostname localhost
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ run: |
+ /bin/sh ./autogen.sh
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --enable-maintainer-mode --enable-developer --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="-Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations"
+ ulimit -c unlimited
+ # We don't want to scan-build libedit nor SQLite3 because ETOOSLOW
+ (cd lib/libedit && make -j4)
+ (cd lib/sqlite && make -j4)
+ scan-build --keep-going make -j4
+ - name: Test
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build
+ ulimit -c unlimited
+ scan-build --keep-going make check
+ - name: Failed Test logs
+ if: ${{ failure() }}
+ run: |
+ find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat
+ - name: Upload Artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: Scan-Build Reports
+ path: '/tmp/scan-build*/'
diff --git a/third_party/heimdal/.github/workflows/ubsan.yml b/third_party/heimdal/.github/workflows/ubsan.yml
new file mode 100644
index 0000000..9dec161
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/ubsan.yml
@@ -0,0 +1,133 @@
+name: Linux UBSAN Build
+
+on:
+ push:
+ branches:
+ - 'master'
+ - 'ubsan'
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.am'
+ - '**.m4'
+ - '**.ac'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/ubsan.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+ pull_request:
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.am'
+ - '**.m4'
+ - '**.ac'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/ubsan.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+jobs:
+ unix:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang, linux-gcc]
+ include:
+ - name: linux-clang
+ os: ubuntu-22.04
+ compiler: clang
+ cflags: '-fsanitize=undefined'
+ ldflags: ''
+ - name: linux-gcc
+ os: ubuntu-22.04
+ compiler: gcc
+ cflags: '-Wnonnull -fsanitize=undefined'
+ ldflags: ''
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Install packages
+ if: startsWith(matrix.os, 'ubuntu')
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison comerr-dev flex doxygen
+ sudo apt-get install -y libcap-ng-dev libdb-dev libedit-dev libjson-perl
+ sudo apt-get install -y libldap2-dev libncurses5-dev libperl4-corelibs-perl
+ sudo apt-get install -y libsqlite3-dev libkeyutils-dev pkg-config python3
+ sudo apt-get install -y ss-dev texinfo unzip netbase keyutils ldap-utils
+ sudo apt-get install -y gdb apport curl libmicrohttpd-dev jq valgrind
+ # Temporary workaround for:
+ # https://github.com/actions/virtual-environments/issues/3185
+ sudo hostname localhost
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ /bin/sh ./autogen.sh
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --enable-maintainer-mode --enable-developer --enable-dynamic --disable-static --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="${{ matrix.cflags }} -Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations" LDFLAGS="${{ matrix.ldflags }}"
+ make -j4
+ - name: Test
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build
+ ulimit -c unlimited
+ make check
+ - name: Make Install
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build || true
+ make DESTDIR=/tmp/h5l install
+ cd /tmp/h5l
+ tar czf $HOME/heimdal-install-linux-${{ matrix.compiler }}.tgz .
+ - name: Core dump stacks
+ run: |
+ echo "thread apply all bt" > /tmp/x
+ find . -name core -print | while read core; do gdb -batch -x x `file "$core"|sed -e "s/^[^']*'//" -e "s/[ '].*$//"` "$core"; done
+ if [ "$(find . -name core -print | wc -l)" -gt 0 ]; then false; fi
+ - name: Test logs
+ run: |
+ find build -depth -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | tar -czf $HOME/logs-linux-${{ matrix.compiler }}.tgz --verbatim-files-from --files-from -
+ find build -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Failed Test logs
+ if: ${{ failure() }}
+ run: |
+ find build -name \*.trs | xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: All Test logs
+ if: true
+ run: |
+ find build -name \*.trs | sed -e 's/trs$/log/' | xargs cat
+ - name: Upload Logs Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: Test Logs
+ path: '~/logs-linux-${{ matrix.compiler }}.tgz'
diff --git a/third_party/heimdal/.github/workflows/valgrind.yml b/third_party/heimdal/.github/workflows/valgrind.yml
new file mode 100644
index 0000000..8506df9
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/valgrind.yml
@@ -0,0 +1,71 @@
+name: Linux Valgrind Tests Build
+
+on:
+ push:
+ # Pushes to the valgrind branch get the valgrind treatment
+ branches:
+ - 'valgrind*'
+
+ pull_request:
+ # Changing this build also gets it to run
+ paths:
+ - '.github/workflows/valgrind.yml'
+
+jobs:
+ unix:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang]
+ include:
+ - name: linux-clang
+ os: ubuntu-22.04
+ compiler: clang
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Install packages
+ if: startsWith(matrix.os, 'ubuntu')
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison comerr-dev flex libcap-ng-dev lmdb-utils liblmdb-dev libdb-dev libedit-dev libjson-perl libldap2-dev libncurses5-dev libperl4-corelibs-perl libsqlite3-dev libkeyutils-dev pkg-config python3 ss-dev texinfo unzip netbase keyutils ldap-utils gdb apport curl libmicrohttpd-dev jq valgrind
+ # Temporary workaround for:
+ # https://github.com/actions/virtual-environments/issues/3185
+ sudo hostname localhost
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ CHECK_TESTER_NO_VALGRIND: 'no-valgrind'
+ run: |
+ /bin/sh ./autogen.sh
+ mkdir build
+ cd build
+ ../configure --srcdir=`dirname "$PWD"` --enable-maintainer-mode --enable-developer --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst CFLAGS="-g -ggdb3 -O0 -Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations"
+ make -j4
+ - name: Test
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ run: |
+ cd build
+ ulimit -c unlimited
+ make check-valgrind
+ - name: Valgrind output
+ run: |
+ find . -name \*.log -print0|xargs -0 grep '^==[0-9]*== ' || true
+ - name: Test logs
+ run: |
+ find build -depth -name \*.log | sed -e 's/trs$/log/' | tar -czf $HOME/logs-linux-valgrind.tgz --verbatim-files-from --files-from -
+ find build -name \*.trs|xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Failed Test logs
+ if: ${{ failure() }}
+ run: |
+ find build -name \*.trs|xargs grep -lw FAIL | sed -e 's/trs$/log/' | xargs cat
+ - name: Upload Artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: Test Logs
+ path: '~/logs-linux-valgrind.tgz'
diff --git a/third_party/heimdal/.github/workflows/windows.yml b/third_party/heimdal/.github/workflows/windows.yml
new file mode 100644
index 0000000..0d3bad8
--- /dev/null
+++ b/third_party/heimdal/.github/workflows/windows.yml
@@ -0,0 +1,94 @@
+name: Windows Build
+
+on:
+ push:
+ branches:
+ - 'master'
+ - 'windows-build'
+ - 'heimdal-7-1-branch'
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**.w32'
+ - '**/NTMakefile*'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/windows.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+ pull_request:
+ paths:
+ - '!docs/**'
+ - '!**.md'
+ - '!**.[1-9]'
+ - '**.[chly]'
+ - '**.hin'
+ - '**.in'
+ - '**.pl'
+ - '**.py'
+ - '**.asn1'
+ - '**.opt'
+ - '**.w32'
+ - '**/NTMakefile'
+ - '**/COPYING'
+ - '**/INSTALL'
+ - '**/README*'
+ - '.github/workflows/windows.yml'
+ - '!appveyor.yml'
+ - '!.travis.yml'
+
+jobs:
+ windows:
+ runs-on: windows-latest
+ env:
+ APPVER: '10.0'
+ CODESIGN_PKT: 0000000000000000
+ INSTALL_DIR: C:\heimdal
+ WINSDKVER: '10.0.22000.0'
+ WIXDIR: 'c:\Program Files (x86)\Windows Installer XML v3.5'
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v1
+ - name: Find MSVC and run vcvarsall.bat
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: amd64
+ - name: Build and Test
+ shell: cmd
+ run: |
+ set PATH=%PATH%;C:\msys64\usr\bin;C:\Program Files (x86)\HTML Help Workshop;C:\program files (x86)\windows installer xml v3.5\bin;C:\cygwin\bin
+ set CODESIGN_PKT=0000000000000000
+ set dbg__type=Debug
+ mkdir %INSTALL_DIR%
+ pacman --noconfirm -S zstd
+ pacman --noconfirm -S autoconf
+ pacman --noconfirm -S automake
+ pacman --noconfirm -S flex
+ pacman --noconfirm -S bison
+ pacman --noconfirm -S perl
+ pacman --noconfirm -S perl-JSON
+ pacman --noconfirm -S texinfo
+ set PATH=%PATH%;%wix%bin
+ title Heimdal Build %CPU% %dbg__type%
+ set "PATH=%PATH%;C:\Perl64\bin;C:\tools\cygwin\bin;C:\Program Files (x86)\HTML Help Workshop"
+ set "PATH=%PATH%;C:/msys64/usr/bin"
+ set "PATH=%PATH%;C:\program files (x86)\windows installer xml v3.5\bin;C:\cygwin\bin"
+ set "PATH=%PATH%;C:\Python310-x64"
+ echo PATH=%PATH%
+ nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1
+ nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 test
+ - name: Upload Artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: Objects
+ path: 'D:/a/heimdal/heimdal/out/'