Skip to content
Snippets Groups Projects
appveyor.yml 5.63 KiB
Newer Older
  • Learn to ignore specific revisions
  • Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    configuration: Release
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    image: Visual Studio 2022
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    platform: x64
    
    
    environment:
    
        APPVEYOR_SAVE_CACHE_ON_ERROR: true
    
        MATRIX_ACCESS_TOKEN:
            secure: Qoy+QQ8zWXYCQrck9GtXJsoPTv9r/rhgCDUlKJ6ue+gkteYG40E9MxgwP1svn6bse20H4z6Svrxn8kFbcJB7Wg2Cnv1s326/vsJJzhWir2eHFFGK+f4SB992/U0HoQmk3Cq5hPk7dLcA7KqHIa1g1PTSFPfl1VODJ2UqqAyn8nzbC5ym+wwU1buJqoWPlTyHBW7eE8wNe77+qI18XpF7NN8yuOOyg3Tzup9YyXLrI36XiJu/5JD3j3s3V1QiUTpuLyQzqwuBUOf1MHTbzuPwHm3ZwzSM98WD6aL6riaK9qa7mDbSx1aY0ukIYSY9IdAfHNwZY/DEAn+QAVD+ZTvPq04ASv+kmSFpOBKr07kpqfM=
    
    
    
      - c:\hunter\ -> appveyor.yml, CMakeLists.txt, cmake/Hunter/config.cmake
    
    Nicolas Werner's avatar
    Nicolas Werner committed
      - build\_deps -> appveyor.yml, CMakeLists.txt
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    build:
    
        verbosity: minimal
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    install:
    
        - set QT_DIR=C:\Qt\6.5\msvc2019_64
    
    Nicolas Werner's avatar
    Nicolas Werner committed
        - set PATH=C:\Strawberry\perl\bin;C:\Python39-x64;%QT_DIR%\bin;%PATH%
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    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.11.3
        - if "%APPVEYOR_REPO_TAG%"=="false" set VERSION=0.11.3
    
        - if "%APPVEYOR_REPO_TAG%"=="false" set WINVERSION=%INSTVERSION%.%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%
    
    Nicolas Werner's avatar
    Nicolas Werner committed
        - cmake -G "Visual Studio 17 2022" -A x64 -H. -Bbuild
    
    Joe Donofry's avatar
    Joe Donofry committed
          -DHUNTER_ROOT="C:\hunter"
    
          -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=ON
    
          -DCMAKE_BUILD_TYPE=Release -DHUNTER_CONFIGURATION_TYPES=Release
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    
    
        - cmake --build build --config Release
    
        - call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
    
        - git clone https://github.com/Nheko-Reborn/qt-jdenticon.git
        - cd qt-jdenticon
        - qmake
        - nmake
        - cd ..
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    after_build:
    
        # Variables
        - set BUILD=%APPVEYOR_BUILD_FOLDER%
        - echo %BUILD%
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
        - 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
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
        - 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
    
    Joe Donofry's avatar
    Joe Donofry committed
        - 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
    
    Joe Donofry's avatar
    Joe Donofry committed
        - 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
    
    Joe Donofry's avatar
    Joe Donofry committed
        - 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
    
    Nicolas Werner's avatar
    Nicolas Werner committed
        - sed -i "s/__VERSION__/%VERSION%/" installer\config\config.xml
        - sed -i "s/__VERSION__/%VERSION%/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml
    
    Joe Donofry's avatar
    Joe Donofry committed
        - sed -i "s/__DATE__/%DATE%/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml
    
    Joe Donofry's avatar
    Joe Donofry committed
        - xcopy NhekoData\*.* installer\packages\io.github.nhekoreborn.nheko\data\*.* /s /e /c /y
    
        - copy NhekoRelease\nheko.exe installer\packages\io.github.nhekoreborn.nheko\data
    
        - 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
    
        - binarycreator.exe -f -c installer\config\config.xml -p installer\packages nheko-installer.exe
    
        # build an msix
        - mkdir msix
        - xcopy .\NhekoRelease\*.* msix\*.* /s /e /c /y
        - copy %BUILD%\resources\nheko.png msix
        - copy %BUILD%\resources\AppxManifest.xml msix
    
    Nicolas Werner's avatar
    Nicolas Werner committed
        - del msix\vc_redist*
        - 'sed -i "s/ Version=[^ ]*/ Version=\"%WINVERSION%\"/" msix\AppxManifest.xml'
    
        - '"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\makeappx.exe" pack -d msix -p nheko.msix'
    
    
        - copy nheko-installer.exe nheko-%APPVEYOR_REPO_TAG_NAME%-installer.exe
        - copy nheko-installer.exe nheko-%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%-installer.exe
    
    Nicolas Werner's avatar
    Nicolas Werner committed
        - ps: .\.ci\upload-nightly.ps1
    
        - 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
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    artifacts:
        - path: nheko_win_64.zip
    
        - path: nheko.msix
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
        - path: nheko-$(APPVEYOR_REPO_TAG_NAME)-installer.exe
    
        - path: nheko-$(APPVEYOR_PULL_REQUEST_HEAD_COMMIT)-installer.exe