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.
13 # HACK -- pacman installation in Appveyor seems broken
14 # Taken from https://github.com/johnkerl/miller/blob/master/appveyor.yml
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"
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%"
48 - title Heimdal Build %CPU% %dbg__type%
50 # target Windows 10 API
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
58 # Packages are not validated in the Appveyor build, FYI.
59 - nmake /f NTMakefile APPVEYOR=1 MAKEINFO=makeinfo NO_INSTALLERS=1 test
62 - path: heimdal-out.zip
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.
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
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
84 # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))