kdc: per-target CPPFLAGS do not have an _AM in the variable name
[heimdal.git] / appveyor.yml
blobfa56c4c59a66737e8843a2f345b94a5abfcdfd3f
2 # This file tells appveyor.com how to build Heimdal on Windows.
3 # Appveyor is a continuous integration (CI) service for github and other
4 # users, and is free for public repositories.
7 version: '1.0.{build}'
9 image:
10   - Visual Studio 2019
12 install:
13   # HACK -- pacman installation in Appveyor seems broken
14   # Taken from https://github.com/johnkerl/miller/blob/master/appveyor.yml
15   # (which is gone)
16   #- ps: dir 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows' -Recurse
17   - set "PATH=C:\msys64\usr\bin;%PATH%"
18   - set "PATH=C:\%MSYS2_DIR%\%MSYSTEM%\bin;C:\%MSYS2_DIR%\usr\bin;%PATH%"
19   - bash -lc "mkdir -p /var/lib/pacman/sync/"
20   - bash -lc "pacman-key --init"
21   - bash -lc "pacman-key --populate msys2"
22   - bash -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-1~20211228-1-any.pkg.tar.zst"
23   - bash -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-1~20211228-1-any.pkg.tar.zst.sig"
24   - bash -lc "pacman --noconfirm -U --config <(echo) msys2-keyring-1~20211228-1-any.pkg.tar.zst"
25   - bash -lc "mkdir -p /var/lib/pacman/sync/"
26   - bash -lc "pacman-key --init"
27   - bash -lc "pacman-key --populate msys2"
28   - bash -lc "pacman -S --noconfirm --refresh pacman"
29   - bash -lc "pacman -S --needed --noconfirm pacman-mirrors"
30   - bash -lc "pacman -S --needed --noconfirm mingw-w64-x86_64-toolchain autoconf automake libtool make patch mingw-w64-x86_64-libtool"
31   - bash -lc "pacman -S --needed --noconfirm bison flex"
32   - bash -lc "pacman -S --needed --noconfirm perl perl-JSON"
34 build_script:
35   # build using Windows 10 SDK
36   - set "WINSDKVER=10.0.22000.0"
37   - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 %WINSDKVER%
38   - set "WIXDIR=c:\Program Files (x86)\Windows Installer XML v3.5"
39   # We're not doing any codesigning in the Appveyor build yet.
40   - SET "CODESIGN_PKT=0000000000000000"
41   - set "PATH=%PATH%;C:\Perl64\bin;C:\tools\cygwin\bin;C:\Program Files (x86)\HTML Help Workshop"
42   - set "PATH=%PATH%;C:/msys64/usr/bin"
43   - set "PATH=%PATH%;C:\program files (x86)\windows installer xml v3.5\bin;C:\cygwin\bin"
44   # double check this, should it be x86 or x64?
45   - set "PATH=%PATH%;%WindowsSdkVerBinPath%\x86"
46   - set "PATH=C:\Python310-x64;%PATH%"
47   - set dbg__type=Debug
48   - title Heimdal Build %CPU% %dbg__type%
49   - echo PATH=%PATH%
50   # target Windows 10 API
51   - set APPVER=10.0
52   # Newer texinfo has no .exe's, so we have to invoke it as
53   # "perl ...\makeinfo ...".  See doc/NTMakefile.
54   - nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1
55   - 7z a heimdal.zip C:\projects\heimdal
57 test_script:
58   # Packages are not validated in the Appveyor build, FYI.
59   - nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 test
61 artifacts:
62   - path: heimdal-out.zip
63     name: heimdal-out
64   - path: heimdal.zip
65     name: heimdal
67 on_failure:
68   - 7z a heimdal-out.zip C:\projects\heimdal
69   - appveyor PushArtifact heimdal-out.zip
71 # To get RDP access to an appveyor worker for debugging a build, just
72 # uncomment these next two lines and the last two lines too.
73 #init:
74 #  - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
76 # Uncomment this to allow the RDP session to continue after the build
77 # finishes.
79 # There's a delete-me file on the desktop that one should delete when
80 # one is done with the worker.  RDP sessions are capped at 60 minutes as
81 # of this writing.
83 #on_finish:
84 #  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))