Add appveyor.yml for Windows CI via Appveyor

Appveyor is like Travis-CI, but for Windows.

Since it seems impossible to install texinfo, this elides building docs
for now.
This commit is contained in:
Nicolas Williams
2016-01-17 17:09:42 -06:00
parent 1575f4f69a
commit cfd51be7fe
3 changed files with 63 additions and 0 deletions

View File

@@ -33,8 +33,13 @@
thirdparty=thirdparty
!endif
!ifdef APPVEYOR
SUBDIRS = include lib kuser kdc admin kadmin kpasswd appl \
tools tests packages etc
!else
SUBDIRS = include lib kuser kdc admin kadmin kpasswd appl doc \
tools tests packages etc $(thirdparty) packages\windows\installer
!endif
!include windows/NTMakefile.w32

50
appveyor.yml Normal file
View File

@@ -0,0 +1,50 @@
install:
# FIXME: Somehow this isn't enough to get texinfo installed
# See https://github.com/appveyor/ci/issues/606
- C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -Sy pacman-mirrors"
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Sy"
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S autoconf automake bison flex texinfo"
- C:\cygwin\setup-x86.exe -qnNdO -R C:\cygwin -s http://cygwin.mirror.constant.com -l C:\cygwin\var\cache\setup -P texinfo
build_script:
- set PSDKDir=C:\Program Files\Microsoft SDKs\Windows\v7.1
- call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" %1 %2 /xp
- set WIXDIR="c:\Program Files (x86)\Windows Installer XML v3.5"
# We're not doing any codesigning in the Appveyor build yet.
- SET CODESIGN_PKT=0000000000000000
- set PATH=%PATH%;C:\Python26;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 dbg__type=Debug
- title Heimdal Build %CPU% %dbg__type%
- echo PATH=%PATH%
# Right now we can't make doc nor installers
- nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1
- 7z a heimdal-out.zip C:\projects\heimdal\out\
test_script:
# Packages are not validated in the Appveyor build, FYI.
- nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 test
artifacts:
- path: heimdal-out.zip
name: heimdal-out
on_failure:
- appveyor PushArtifact heimdal-out.zip
# To get RDP access to an appveyor worker for debugging a build, just
# uncomment these next two lines and the last two lines too.
#init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# Uncomment this to allow the RDP session to continue after the build
# finishes.
#
# There's a delete-me file on the desktop that one should delete when
# one is done with the worker. RDP sessions are capped at 60 minutes as
# of this writing.
#
#on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

View File

@@ -108,8 +108,12 @@ all:: asm-krb
clean::
-$(RM) $(ASMKRBDIR)\*.*
!ifdef APPVEYOR
test::
!else
test::
$(MT) -manifest $(ASMKRBDIR)\$(ASMKRBMAN) -validate_manifest
!endif
{$(BINDIR)}.dll{$(ASMKRBDIR)}.dll:
$(CP) $< $@
@@ -132,8 +136,12 @@ $(APPMANIFEST): Heimdal.Application.manifest.in
-e "s,[@]cpu[@],$(MCPU),g" \
-e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@
!ifdef APPVEYOR
test::
!else
test::
$(MT) -manifest $(APPMANIFEST) -validate_manifest
!endif
# ----------------------------------------------------------------------
# Publisher configuration files