From 66d6998e3ea2232294f7f65fdb9db2a9fbda0ea2 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 14 Jan 2022 13:50:50 -0600 Subject: [PATCH] GitHub: Complete split of build.yml --- .github/workflows/build.yml | 195 ---------------------------------- .github/workflows/linux.yml | 91 +--------------- .github/workflows/osx.yml | 103 +----------------- .github/workflows/windows.yml | 119 +-------------------- README.md | 4 +- 5 files changed, 9 insertions(+), 503 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index ed05e54a5..000000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,195 +0,0 @@ -name: Build - -on: - push: - paths: - - '!docs/**' - - '!**.md' - - '!**.[1-9]' - - '**.[chly]' - - '**.hin' - - '**.in' - - '**.am' - - '**.m4' - - '**.ac' - - '**.pl' - - '**.py' - - '**.asn1' - - '**.opt' - - '**/NTMakefile' - - '**/COPYING' - - '**/INSTALL' - - '**/README*' - - '.github/workflows/build.yml' - - '!appveyor.yml' - - '!.travis.yml' - - pull_request: - paths: - - '!docs/**' - - '!**.md' - - '!**.[1-9]' - - '**.[chly]' - - '**.hin' - - '**.in' - - '**.am' - - '**.m4' - - '**.ac' - - '**.pl' - - '**.py' - - '**.asn1' - - '**.opt' - - '**/NTMakefile' - - '**/COPYING' - - '**/INSTALL' - - '**/README*' - - '.github/workflows/build.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-18.04 - compiler: clang - - name: linux-gcc - os: ubuntu-18.04 - compiler: gcc - 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 python 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 }} - 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 - make -j4 - make check - make install - - name: Valgrind output - run: | - find . -name \*.log -print0|xargs -0 grep '^==[1-9]' || true - - 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 - if: ${{ failure() }} - run: | - find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat - - name: distclean - run: | - cd build - 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 - - 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, python, curl, and jq are installed in the" - echo "base image already." - brew install autoconf automake libtool cpanm - 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-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" - ulimit -c unlimited - make -j4 - make check - make install - - name: Test logs - if: ${{ failure() }} - run: | - find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat - - name: distclean - run: | - cd build - 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 - - 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 - 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 - 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 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ed05e54a5..cb3d41f1c 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,4 +1,4 @@ -name: Build +name: Linux Build on: push: @@ -16,7 +16,6 @@ on: - '**.py' - '**.asn1' - '**.opt' - - '**/NTMakefile' - '**/COPYING' - '**/INSTALL' - '**/README*' @@ -39,7 +38,6 @@ on: - '**.py' - '**.asn1' - '**.opt' - - '**/NTMakefile' - '**/COPYING' - '**/INSTALL' - '**/README*' @@ -48,7 +46,6 @@ on: - '!.travis.yml' jobs: - unix: runs-on: ${{ matrix.os }} strategy: @@ -107,89 +104,3 @@ jobs: echo "Files not removed by make distclean:" git ls-files -o|grep -v ^build/ fi - - 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, python, curl, and jq are installed in the" - echo "base image already." - brew install autoconf automake libtool cpanm - 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-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" - ulimit -c unlimited - make -j4 - make check - make install - - name: Test logs - if: ${{ failure() }} - run: | - find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat - - name: distclean - run: | - cd build - 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 - - 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 - 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 - 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 diff --git a/.github/workflows/osx.yml b/.github/workflows/osx.yml index ed05e54a5..f6684c069 100644 --- a/.github/workflows/osx.yml +++ b/.github/workflows/osx.yml @@ -1,4 +1,4 @@ -name: Build +name: OS X Build on: push: @@ -16,7 +16,6 @@ on: - '**.py' - '**.asn1' - '**.opt' - - '**/NTMakefile' - '**/COPYING' - '**/INSTALL' - '**/README*' @@ -39,7 +38,6 @@ on: - '**.py' - '**.asn1' - '**.opt' - - '**/NTMakefile' - '**/COPYING' - '**/INSTALL' - '**/README*' @@ -48,66 +46,6 @@ on: - '!.travis.yml' jobs: - - unix: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - name: [linux-clang, linux-gcc] - include: - - name: linux-clang - os: ubuntu-18.04 - compiler: clang - - name: linux-gcc - os: ubuntu-18.04 - compiler: gcc - 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 python 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 }} - 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 - make -j4 - make check - make install - - name: Valgrind output - run: | - find . -name \*.log -print0|xargs -0 grep '^==[1-9]' || true - - 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 - if: ${{ failure() }} - run: | - find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat - - name: distclean - run: | - cd build - 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 - osx: runs-on: ${{ matrix.os }} strategy: @@ -154,42 +92,3 @@ jobs: echo "Files not removed by make distclean:" git ls-files -o|grep -v ^build/ fi - - 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 - 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 - 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 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index ed05e54a5..6291d8bf9 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,4 +1,4 @@ -name: Build +name: Windows Build on: push: @@ -9,14 +9,12 @@ on: - '**.[chly]' - '**.hin' - '**.in' - - '**.am' - - '**.m4' - - '**.ac' - '**.pl' - '**.py' - '**.asn1' - '**.opt' - - '**/NTMakefile' + - '**.w32' + - '**/NTMakefile*' - '**/COPYING' - '**/INSTALL' - '**/README*' @@ -32,13 +30,11 @@ on: - '**.[chly]' - '**.hin' - '**.in' - - '**.am' - - '**.m4' - - '**.ac' - '**.pl' - '**.py' - '**.asn1' - '**.opt' + - '**.w32' - '**/NTMakefile' - '**/COPYING' - '**/INSTALL' @@ -48,113 +44,6 @@ on: - '!.travis.yml' jobs: - - unix: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - name: [linux-clang, linux-gcc] - include: - - name: linux-clang - os: ubuntu-18.04 - compiler: clang - - name: linux-gcc - os: ubuntu-18.04 - compiler: gcc - 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 python 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 }} - 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 - make -j4 - make check - make install - - name: Valgrind output - run: | - find . -name \*.log -print0|xargs -0 grep '^==[1-9]' || true - - 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 - if: ${{ failure() }} - run: | - find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat - - name: distclean - run: | - cd build - 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 - - 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, python, curl, and jq are installed in the" - echo "base image already." - brew install autoconf automake libtool cpanm - 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-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" - ulimit -c unlimited - make -j4 - make check - make install - - name: Test logs - if: ${{ failure() }} - run: | - find build -name \*.trs|xargs grep -lw FAIL|sed -e 's/trs$/log/'|xargs cat - - name: distclean - run: | - cd build - 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 - windows: runs-on: windows-latest env: diff --git a/README.md b/README.md index 747d9ff82..36252bc59 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -[![GitHub Build Workflow](https://github.com/heimdal/heimdal/actions/workflows/build.yml/badge.svg)](https://github.com/heimdal/heimdal/actions?query=workflow%3Abuild) +[![GitHub Build Workflow](https://github.com/heimdal/heimdal/actions/workflows/linux.yml/badge.svg)](https://github.com/heimdal/heimdal/actions?query=workflow%3Alinux) +[![GitHub Build Workflow](https://github.com/heimdal/heimdal/actions/workflows/osx.yml/badge.svg)](https://github.com/heimdal/heimdal/actions?query=workflow%3Aosx) +[![GitHub Build Workflow](https://github.com/heimdal/heimdal/actions/workflows/windows.yml/badge.svg)](https://github.com/heimdal/heimdal/actions?query=workflow%3Awindows) [![Appveyor-CI build (Windows)](https://ci.appveyor.com/api/projects/status/6j0k0m7kd6jjj4tw/branch/master?svg=true)](https://ci.appveyor.com/project/heimdal/heimdal/branch/master) [![Coverage Status](https://coveralls.io/repos/github/heimdal/heimdal/badge.svg?branch=master)](https://coveralls.io/github/heimdal/heimdal?branch=master)