aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorMichael Mattioli <mmattioli@users.noreply.github.com>2019-11-25 21:28:57 -0500
committerGreg Hudson <ghudson@mit.edu>2020-02-17 18:43:39 -0500
commit1ad47d436e2e748fb20d4b08f85ed8dda2b3fd3c (patch)
tree4a60abbab154fb614bc7a97736b4661eef4d2951 /.github
parent21d823991a81d64af460ec62a98585c85534850b (diff)
downloadkrb5-1ad47d436e2e748fb20d4b08f85ed8dda2b3fd3c.zip
krb5-1ad47d436e2e748fb20d4b08f85ed8dda2b3fd3c.tar.gz
krb5-1ad47d436e2e748fb20d4b08f85ed8dda2b3fd3c.tar.bz2
Use GitHub Actions for CI
Use Github Actions instead of Travis and AppVeyor. In the Windows installer config, add support for Visual Studio 2019 (aka 16.0). [ghudson@mit.edu: switched to Ubuntu 18.04 for Linux builds; removed macOS build job for now; added more packages to avoid skipping tests; made it easier to see skipped tests and to see files not cleaned; added make install command; adjusted Windows build path]
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml97
1 files changed, 97 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..982cb50
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,97 @@
+name: Build
+
+on: push
+
+jobs:
+
+ unix:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [linux-clang, linux-clang-openssl, linux-gcc]
+ include:
+ - name: linux-clang
+ os: ubuntu-18.04
+ compiler: clang
+ makevars: CPPFLAGS=-Werror
+ - name: linux-clang-openssl
+ os: ubuntu-18.04
+ compiler: clang
+ makevars: CPPFLAGS=-Werror
+ configureopts: --with-crypto-impl=openssl
+ - name: linux-gcc
+ os: ubuntu-18.04
+ compiler: gcc
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v1
+ - name: Linux setup
+ if: startsWith(matrix.os, 'ubuntu')
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -y bison dejagnu gettext keyutils ldap-utils libcmocka-dev libldap2-dev libkeyutils-dev libresolv-wrapper libsasl2-dev libssl-dev python3-kdcproxy python3-pip slapd tcl-dev tcsh
+ pip3 install pyrad
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+ MAKEVARS: ${{ matrix.makevars }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ run: |
+ cd src
+ autoreconf
+ ./configure --enable-maintainer-mode --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst
+ make $MAKEVARS
+ make check
+ make install
+ - name: Display skipped tests
+ run: cat src/skiptests
+ - name: Check for files unexpectedly not removed by make distclean
+ run: |
+ cd src
+ make distclean
+ rm -rf autom4te.cache configure include/autoconf.h.in
+ if [ -n "$(git ls-files -o)" ]; then
+ echo "Files not removed by make distclean:"
+ git ls-files -o
+ exit 1
+ fi
+
+ windows:
+ runs-on: windows-latest
+ env:
+ KRB_INSTALL_DIR: C:\kfw
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v1
+ - name: Setup
+ shell: cmd
+ run: |
+ mkdir %KRB_INSTALL_DIR%
+ - name: Build 32-bit
+ shell: cmd
+ run: |
+ cd src
+ call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
+ set
+ set PATH=C:\Strawberry\perl\bin;%PATH%;%wix%bin
+ nmake -f Makefile.in prep-windows
+ nmake
+ nmake install
+ cd windows\installer\wix
+ nmake
+ rename kfw.msi kfw32.msi
+ - name: Build 64-bit
+ shell: cmd
+ run: |
+ cd src
+ call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
+ set
+ set PATH=C:\Strawberry\perl\bin;%PATH%;%wix%bin;"%WindowsSdkVerBinPath%"\x86
+ nmake clean
+ nmake
+ nmake install
+ cd windows\installer\wix
+ nmake clean
+ nmake
+ rename kfw.msi kfw64.msi