Kart-Public/appveyor.yml
2017-01-06 21:07:02 -05:00

100 lines
3.5 KiB
YAML

version: 2.1.16.{branch}-{build}
os: MinGW
environment:
CC: ccache
CCACHE_CC: mingw32-gcc
WINDRES: windres
MINGW_SDK: c:\msys64\mingw32
CFLAGS: -Wall -W -Werror
NASM_ZIP: nasm-2.12.01
NASM_URL: http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win64/nasm-2.12.01-win64.zip
UPX_ZIP: upx391w
UPX_URL: http://upx.sourceforge.net/download/upx391w.zip
CCACHE_EXE: ccache.exe
CCACHE_URL: http://alam.srb2.org/ccache.exe
CCACHE_COMPRESS: true
CCACHE_DIR: C:\Users\appveyor\.ccache
MINGW_BIN_TAR: gcc-core-4.8.1-4-mingw32-bin.tar
MINGW_BIN_URL: http://downloads.sourceforge.net/project/mingw/MinGW/Base/gcc/Version4/gcc-4.8.1-4/gcc-core-4.8.1-4-mingw32-bin.tar.lzma
MINGW_DLL_TAR: gcc-core-4.8.1-4-mingw32-dll.tar
MINGW_DLL_URL: http://downloads.sourceforge.net/project/mingw/MinGW/Base/gcc/Version4/gcc-4.8.1-4/gcc-core-4.8.1-4-mingw32-dll.tar.lzma
cache:
- nasm-2.12.01.zip
- upx391w.zip
- ccache.exe
- gcc-core-4.8.1-4-mingw32-dll.tar.lzma
- gcc-core-4.8.1-4-mingw32-bin.tar.lzma
- C:\Users\appveyor\.ccache
install:
- if not exist "%NASM_ZIP%.zip" appveyor DownloadFile "%NASM_URL%" -FileName "%NASM_ZIP%.zip"
- 7z x -y "%NASM_ZIP%.zip" -o%TMP% >null
- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs %TMP%\%NASM_ZIP% %MINGW_SDK%\bin nasm.exe || exit 0
- if not exist "%UPX_ZIP%.zip" appveyor DownloadFile "%UPX_URL%" -FileName "%UPX_ZIP%.zip"
- 7z x -y "%UPX_ZIP%.zip" -o%TMP% >null
- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs %TMP%\%UPX_ZIP% %MINGW_SDK%\bin upx.exe || exit 0
- if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%"
- ccache -M 99M
- xcopy /Y /V /I ccache.exe %MINGW_SDK%\bin
- if not exist "%MINGW_DLL_TAR%.lzma" appveyor DownloadFile "%MINGW_DLL_URL%" -FileName "%MINGW_DLL_TAR%.lzma"
- 7z x -y "%MINGW_DLL_TAR%.lzma" -o%TMP% >null
- 7z x -y "%TMP%\%MINGW_DLL_TAR%" -o%TMP% >null
- if not exist "%MINGW_EXE_TAR%.lzma" appveyor DownloadFile "%MINGW_EXE_URL%" -FileName "%MINGW_EXE_TAR%.lzma"
- 7z x -y "%MINGW_EXE_TAR%.lzma" -o%TMP% >null
- 7z x -y "%TMP%\%MINGW_EXE_TAR%" -o%TMP% >null
- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs %TMP%\bin C:\Mingw\bin || exit 0
configuration:
- SDL
- DD
before_build:
- set PATH=%MINGW_SDK%\bin;C:\Mingw\bin;%PATH%
- mingw32-gcc.exe --version
- mingw32-make --version
- nasm -v
- upx -V
- ccache -V
- ccache -s
- set SRB2_MFLAGS=-C src MINGW=1 WARNINGMODE=1 GCC48=1 CCACHE=1
build_script:
- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 clean
- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1 -k
after_build:
- ccache -s
- cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt
- cmd: set /P GITSHORT=<%TMP%/gitshort.txt
- set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%.7z
- cmd: 7z a %BUILD_ARCHIVE% bin\Mingw\Release -xr!.gitignore
- appveyor PushArtifact %BUILD_ARCHIVE%
test: off
#deploy:
# - provider: FTP
# protocol: ftps
# host:
# secure: NsLJEPIBvmwCOj8Tg8RoRQ==
# username:
# secure: ejxi5mvk7oLYu7QtbYojajEPigMy0mokaKhuEVuDZcA=
# password:
# secure: Hbn6Uy3lT0YZ88yFJ3aW4w==
# folder: appveyor
# application:
# active_mode: false
# on:
# branch: master
# appveyor_repo_tag: true
on_finish:
- cmd: echo xfreerdp /u:appveyor /cert-ignore +clipboard /v:<ip>:<port>
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))