diff options
author | Michael Mattioli <mmattioli@users.noreply.github.com> | 2019-11-25 21:28:57 -0500 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2020-02-17 18:43:39 -0500 |
commit | 1ad47d436e2e748fb20d4b08f85ed8dda2b3fd3c (patch) | |
tree | 4a60abbab154fb614bc7a97736b4661eef4d2951 /.github | |
parent | 21d823991a81d64af460ec62a98585c85534850b (diff) | |
download | krb5-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.yml | 97 |
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 |