summaryrefslogtreecommitdiffstats
path: root/appveyor.yml
blob: 6125ae7c8a4d0ef96c7d2804779c5fe3779e7227 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
---

version: 0.9.1-{build}

configuration: Release
image: Visual Studio 2019
platform: x64

environment:
    BINTRAY_APIKEY:
        secure: "iGl5mzE9/ta9kFELUxDw9XtlYMSCMai9xowXIkYzU8WKHz7NfW0mLwMJZvblZFXJ"
    MATRIX_ACCESS_TOKEN:
        secure: Qoy+QQ8zWXYCQrck9GtXJsoPTv9r/rhgCDUlKJ6ue+gkteYG40E9MxgwP1svn6bse20H4z6Svrxn8kFbcJB7Wg2Cnv1s326/vsJJzhWir2eHFFGK+f4SB992/U0HoQmk3Cq5hPk7dLcA7KqHIa1g1PTSFPfl1VODJ2UqqAyn8nzbC5ym+wwU1buJqoWPlTyHBW7eE8wNe77+qI18XpF7NN8yuOOyg3Tzup9YyXLrI36XiJu/5JD3j3s3V1QiUTpuLyQzqwuBUOf1MHTbzuPwHm3ZwzSM98WD6aL6riaK9qa7mDbSx1aY0ukIYSY9IdAfHNwZY/DEAn+QAVD+ZTvPq04ASv+kmSFpOBKr07kpqfM=



cache:
  - c:\hunter\ -> appveyor.yml, CMakeLists.txt
  - build\_deps -> appveyor.yml, CMakeLists.txt

build:
    verbosity: minimal

install:
    - set QT_DIR=C:\Qt\5.15\msvc2019_64
    - set PATH=Path=C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;C:\Program Files\7-Zip;C:\Program Files\Microsoft\Web Platform Installer\;C:\Tools\NuGet;C:\Tools\PsTools;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Program Files\Mercurial\;C:\Program Files (x86)\Subversion\bin;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\dotnet\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\150;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin;C:\Tools\xUnit;C:\Tools\xUnit20;C:\Tools\NUnit\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\TestPlatform;C:\Ruby193\bin;C:\Tools\WebDriver;C:\Python27;C:\Python27\Scripts;C:\Program Files\erl10.7\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft DirectX SDK;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Tools\Doxygen;C:\Program Files (x86)\CMake\bin;C:\ProgramData\chocolatey\bin;C:\Tools\vcpkg;C:\Tools\Coverity\bin;C:\Program Files (x86)\NSIS;C:\Tools\Octopus;C:\Program Files\Meson\;C:\Tools\GitVersion;C:\Tools\NUnit3\bin;C:\Users\appveyor\AppData\Local\Microsoft\WindowsApps;C:\Users\appveyor\.dotnet\tools;C:\Program Files\AppVeyor\BuildAgent\
    - set PATH=C:\Strawberry\perl\bin;C:\Python39-x64;%QT_DIR%\bin;%PATH%
    - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

build_script:
    # VERSION format:     branch-master/branch-1.2
    # INSTVERSION format: x.y.z
    # WINVERSION format:  9999.0.0.123/1.2.0.234
    - if "%APPVEYOR_REPO_TAG%"=="false" set INSTVERSION=0.9.3
    - if "%APPVEYOR_REPO_TAG%"=="false" set VERSION=0.9.3
    - if "%APPVEYOR_REPO_TAG%"=="false" if "%APPVEYOR_REPO_BRANCH%"=="master" set INSTVERSION=9999.0
    - if "%APPVEYOR_REPO_TAG%"=="false" set WINVERSION=%INSTVERSION%.0.%APPVEYOR_BUILD_NUMBER%
    # VERSION format:     v1.2.3/v1.3.4
    # INSTVERSION format: 1.2.3/1.3.4
    # WINVERSION format:  1.2.3.123/1.3.4.234
    - if "%APPVEYOR_REPO_TAG%"=="true" set VERSION=%APPVEYOR_REPO_TAG_NAME%
    - if "%APPVEYOR_REPO_TAG%"=="true" set INSTVERSION=%VERSION:~1%
    - if "%APPVEYOR_REPO_TAG%"=="true" set WINVERSION=%VERSION:~1%.%APPVEYOR_BUILD_NUMBER%
    - set DATE=%date:~10,4%-%date:~4,2%-%date:~7,2%
    - echo %VERSION%
    - echo %INSTVERSION%
    - echo %DATE%

    # Build nheko
    - cmake -G "Visual Studio 16 2019" -A x64 -H. -Bbuild
      -DHUNTER_ROOT="C:\hunter"
      -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=ON
      -DCMAKE_BUILD_TYPE=Release -DHUNTER_CONFIGURATION_TYPES=Release

    - cmake --build build --config Release

    - git clone https://github.com/Nheko-Reborn/qt-jdenticon.git
    - cd qt-jdenticon
    - qmake
    - nmake
    - cd ..

after_build:
    # Variables
    - set BUILD=%APPVEYOR_BUILD_FOLDER%
    - echo %BUILD%
    - mkdir NhekoRelease
    - copy build\Release\nheko.exe NhekoRelease\nheko.exe
    - copy qt-jdenticon\release\qtjdenticon0.dll NhekoRelease\qtjdenticon.dll
    - copy build\_deps\cmark-build\src\Release\cmark.dll NhekoRelease\cmark.dll
    - windeployqt --qmldir resources\qml\ NhekoRelease\nheko.exe

    - 7z a nheko_win_64.zip .\NhekoRelease\*
    - ls -lh build\Release\
    - ls -lh NhekoRelease\
    - mkdir NhekoData
    - xcopy .\NhekoRelease\*.* NhekoData\*.* /s /e /c /y
    #
    # Create the Qt Installer Framework version
    #
    - mkdir installer
    - mkdir installer\config
    - mkdir installer\packages
    - mkdir installer\packages\io.github.nhekoreborn.nheko
    - mkdir installer\packages\io.github.nhekoreborn.nheko\data
    - mkdir installer\packages\io.github.nhekoreborn.nheko\meta
    # Copy installer data
    - copy %BUILD%\resources\nheko.ico installer\config
    - copy %BUILD%\resources\nheko.png installer\config
    - copy %BUILD%\COPYING installer\packages\io.github.nhekoreborn.nheko\meta\license.txt
    - copy %BUILD%\deploy\installer\config.xml installer\config
    - copy %BUILD%\deploy\installer\controlscript.qs installer\config
    - copy %BUILD%\deploy\installer\uninstall.qs installer\packages\io.github.nhekoreborn.nheko\data
    - copy %BUILD%\deploy\installer\gui\package.xml installer\packages\io.github.nhekoreborn.nheko\meta
    - copy %BUILD%\deploy\installer\gui\installscript.qs installer\packages\io.github.nhekoreborn.nheko\meta
    # Amend version and date
    - sed -i "s/__VERSION__/0.9.3/" installer\config\config.xml
    - sed -i "s/__VERSION__/0.9.3/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml
    - sed -i "s/__DATE__/%DATE%/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml
    # Copy nheko data
    - xcopy NhekoData\*.* installer\packages\io.github.nhekoreborn.nheko\data\*.* /s /e /c /y
    - move NhekoRelease\nheko.exe installer\packages\io.github.nhekoreborn.nheko\data
    - mkdir tools
    - curl -L -O https://download.qt.io/official_releases/qt-installer-framework/4.3.0/QtInstallerFramework-windows-x86-4.3.0.exe
    - 7z x QtInstallerFramework-windows-x86-4.3.0.exe -otools -aoa
    - set PATH=%BUILD%\tools\bin;%PATH%
    - binarycreator.exe -f -c installer\config\config.xml -p installer\packages nheko-installer.exe

    - copy nheko-installer.exe nheko-%APPVEYOR_REPO_TAG_NAME%-installer.exe
    - copy nheko-installer.exe nheko-%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%-installer.exe
    - ps: .\.ci\upload-nightly.ps1

on_success:
    - if "%APPVEYOR_REPO_TAG%" == "true" (curl -T nheko-%APPVEYOR_REPO_TAG_NAME%-installer.exe -uredsky17:%BINTRAY_APIKEY% https://api.bintray.com/content/nheko-reborn/nheko/%APPVEYOR_REPO_TAG_NAME%/nheko/%APPVEYOR_REPO_TAG_NAME%/)

deploy:
    - description: "Development builds"
      provider: GitHub
      auth_token:
          secure: "ShStWeqp+TkYqJPQr7uFZb+B8ZTgC7Iwth+IkhjfRDCTLhy8gtWvlPzlQilder3E"
      artifact: nheko-${APPVEYOR_REPO_TAG_NAME}-installer.exe
      force_update: true
      prerelease: true
      on:
          appveyor_repo_tag: true

artifacts:
    - path: nheko_win_64.zip
    - path: nheko-$(APPVEYOR_REPO_TAG_NAME)-installer.exe
    - path: nheko-$(APPVEYOR_PULL_REQUEST_HEAD_COMMIT)-installer.exe