diff --git a/craft/configs/experimental/CraftBinaryCache.ini b/craft/configs/experimental/CraftBinaryCache.ini index 1da7633..cabfd4b 100644 --- a/craft/configs/experimental/CraftBinaryCache.ini +++ b/craft/configs/experimental/CraftBinaryCache.ini @@ -1,85 +1,85 @@ [General] Branch = master ShallowClone = True [Variables] Msys = C:/Craft/Msys DownloadDir = C:/Craft/Downloads #Values need to be overwritten to create a cache CreateCache = False UseCache = True CacheVersion = Qt_5.14.0 # Settings applicable for all Crafts matrices # Settings are Category/key=value # Category is case sensitive [GeneralSettings] -Paths/Python = C:/Program Files/Python36/ +Paths/Python = C:/Program Files/Python38/ Paths/Python27 = C:/Program Files (x86)/Python27/ Paths/DownloadDir = ${Variables:DownloadDir} Paths/Msys = ${Variables:Msys} ShortPath/Enabled = False ShortPath/EnableJunctions = True ShortPath/JunctionDir = C:/_ Packager/CacheDir = ${Variables:Root}/cache Packager/UseCache = ${Variables:UseCache} Packager/CreateCache = ${Variables:CreateCache} Packager/CacheVersion = ${Variables:CacheVersion} Blueprints/BlueprintRoot = ${Variables:Root}/blueprints ContinuousIntegration/Enabled = True ContinuousIntegration/ClearBuildFolder = True ContinuousIntegration/UpdateRepository = True CodeSigning/Enabled = True CodeSigning/SignCache = True CodeSigning/CommonName = K Desktop Environment e.V. CodeSigning/Organization = K Desktop Environment e.V. CodeSigning/Locality = Berlin CodeSigning/Country = DE Packager/AppxPublisherId = CN=98B52D9A-DF7C-493E-BADC-37004A92EFC8 [BlueprintSettings] libs/qt5.version = 5.14.0 kde/frameworks.version = 5.65.0 libs/icu.version = 65.1 extragear/kdevelop/kdevelop.fullKDevelop = True # keeping all build dirs around takes too much space libs/qt5/qtdoc.ignored = True [windows-msvc2019_64-cl-debug] General/ABI = windows-msvc2019_64-cl Compile/BuildType = Debug [windows-msvc2017_64-cl] General/ABI = windows-msvc2017_64-cl Compile/BuildType = RelWithDebInfo [windows-msvc2017_32-cl] -Paths/Python = C:/Program Files (x86)/Python36-32 +Paths/Python = C:/Program Files (x86)/Python38-32 General/ABI = windows-msvc2017_32-cl Compile/BuildType = RelWithDebInfo [windows-msvc2019_64-cl] General/ABI = windows-msvc2019_64-cl Compile/BuildType = RelWithDebInfo [windows-mingw_64-gcc] General/ABI = windows-mingw_64-gcc Compile/BuildType = RelWithDebInfo [linux-64-gcc] Paths/Python = General/ABI = linux-64-gcc Compile/BuildType = RelWithDebInfo Paths/DownloadDir = ${Variables:Root}/downloads ShortPath/JunctionDir = ${Variables:Root}/_ [macos-64-clang] Paths/Python = General/ABI = macos-64-clang Compile/BuildType = RelWithDebInfo Packager/PackageType = MacDMGPackager Paths/DownloadDir = ${Variables:Root}/downloads CodeSigning/Enabled = False diff --git a/craft/configs/master/CraftBinaryCache.ini b/craft/configs/master/CraftBinaryCache.ini index 9b24c93..51934fb 100644 --- a/craft/configs/master/CraftBinaryCache.ini +++ b/craft/configs/master/CraftBinaryCache.ini @@ -1,79 +1,79 @@ [General] Branch = master ShallowClone = True [Variables] Msys = C:/Craft/Msys DownloadDir = C:/Craft/Downloads #Values need to be overwritten to create a cache CreateCache = False UseCache = True # Settings applicable for all Crafts matrices # Settings are Category/key=value # Category is case sensitive [GeneralSettings] Paths/Python = C:/Program Files/Python38/ Paths/Python27 = C:/Program Files (x86)/Python27/ Paths/DownloadDir = ${Variables:DownloadDir} Paths/Msys = ${Variables:Msys} ShortPath/Enabled = False ShortPath/EnableJunctions = True ShortPath/JunctionDir = C:/_ Packager/CacheDir = ${Variables:Root}/cache Packager/UseCache = ${Variables:UseCache} Packager/CreateCache = ${Variables:CreateCache} Blueprints/BlueprintRoot = ${Variables:Root}/blueprints ContinuousIntegration/Enabled = True ContinuousIntegration/ClearBuildFolder = True ContinuousIntegration/UpdateRepository = True CodeSigning/Enabled = True CodeSigning/SignCache = True CodeSigning/CommonName = K Desktop Environment e.V. CodeSigning/Organization = K Desktop Environment e.V. CodeSigning/Locality = Berlin CodeSigning/Country = DE CodeSigning/MacDeveloperId = K Desktop Environment e.V. (5433B4KXM8) Packager/AppxPublisherId = CN=98B52D9A-DF7C-493E-BADC-37004A92EFC8 [BlueprintSettings] extragear/kdevelop/kdevelop.fullKDevelop = True # keeping all build dirs around takes too much space libs/qt5/qtdoc.ignored = True [windows-msvc2019_64-cl-debug] General/ABI = windows-msvc2019_64-cl Compile/BuildType = Debug [windows-msvc2017_64-cl] General/ABI = windows-msvc2017_64-cl Compile/BuildType = RelWithDebInfo [windows-msvc2017_32-cl] -Paths/Python = C:/Program Files (x86)/Python36-32 +Paths/Python = C:/Program Files (x86)/Python38-32/ General/ABI = windows-msvc2017_32-cl Compile/BuildType = RelWithDebInfo [windows-msvc2019_64-cl] General/ABI = windows-msvc2019_64-cl Compile/BuildType = RelWithDebInfo [windows-mingw_64-gcc] General/ABI = windows-mingw_64-gcc Compile/MakeProgram = mingw32-make Compile/BuildType = RelWithDebInfo [linux-64-gcc] Paths/Python = General/ABI = linux-64-gcc Compile/BuildType = RelWithDebInfo Paths/DownloadDir = ${Variables:Root}/downloads [macos-64-clang] Paths/Python = General/ABI = macos-64-clang Compile/BuildType = RelWithDebInfo Packager/PackageType = MacDMGPackager Paths/DownloadDir = ${Variables:Root}/downloads diff --git a/craft/configs/prebuilt/CraftBinaryCache.ini b/craft/configs/prebuilt/CraftBinaryCache.ini index 797fdd2..ad9cf19 100644 --- a/craft/configs/prebuilt/CraftBinaryCache.ini +++ b/craft/configs/prebuilt/CraftBinaryCache.ini @@ -1,75 +1,75 @@ [General] Branch = master ShallowClone = True [Variables] Msys = C:/Craft/Msys DownloadDir = C:/Craft/Downloads #Values need to be overwritten to create a cache CreateCache = False UseCache = True # Settings applicable for all Crafts matrices # Settings are Category/key=value # Category is case sensitive [GeneralSettings] -Paths/Python = C:/Program Files/Python36/ +Paths/Python = C:/Program Files/Python38/ Paths/Python27 = C:/Program Files (x86)/Python27/ Paths/DownloadDir = ${Variables:DownloadDir} Paths/Msys = ${Variables:Msys} ShortPath/Enabled = False ShortPath/EnableJunctions = True ShortPath/JunctionDir = C:/_ Packager/CacheDir = ${Variables:Root}/cache Packager/UseCache = ${Variables:UseCache} Packager/CreateCache = ${Variables:CreateCache} Blueprints/BlueprintRoot = ${Variables:Root}/blueprints ContinuousIntegration/Enabled = True ContinuousIntegration/ClearBuildFolder = True ContinuousIntegration/UpdateRepository = True CodeSigning/Enabled = True CodeSigning/CommonName = K Desktop Environment e.V. CodeSigning/Organization = K Desktop Environment e.V. CodeSigning/Locality = Berlin CodeSigning/Country = DE Packager/AppxPublisherId = CN=98B52D9A-DF7C-493E-BADC-37004A92EFC8 Packager/RepositoryUrl = https://files.kde.org/craft/prebuilt/ Packager/Destination = ${Variables:Root}/cache/packages ContinuousIntegration/RepositoryUrl = https://files.kde.org/craft/prebuilt/packages [BlueprintSettings] libs/gpgme.enableCPP = False [windows-msvc2017_64-cl] General/ABI = windows-msvc2017_64-cl Compile/BuildType = RelWithDebInfo [windows-msvc2017_32-cl] General/ABI = windows-msvc2017_32-cl Compile/BuildType = RelWithDebInfo [windows-mingw_32-gcc] General/ABI = windows-mingw_32-gcc Compile/MakeProgram = mingw32-make Compile/BuildType = RelWithDebInfo [windows-mingw_64-gcc] General/ABI = windows-mingw_64-gcc Compile/BuildType = RelWithDebInfo [linux-64-gcc] Paths/Python = General/ABI = linux-64-gcc Compile/BuildType = RelWithDebInfo Paths/DownloadDir = ${Variables:Root}/downloads ShortPath/JunctionDir = ${Variables:Root}/_ [macos-64-clang] Paths/Python = General/ABI = macos-64-clang Compile/BuildType = RelWithDebInfo Packager/PackageType = MacDMGPackager Paths/DownloadDir = ${Variables:Root}/downloads CodeSigning/Enabled = False diff --git a/custom-jobs/krita/Krita_Release_Windows32_Build.pipeline b/custom-jobs/krita/Krita_Release_Windows32_Build.pipeline index 7691d96..fdeacb7 100644 --- a/custom-jobs/krita/Krita_Release_Windows32_Build.pipeline +++ b/custom-jobs/krita/Krita_Release_Windows32_Build.pipeline @@ -1,110 +1,110 @@ // Ask for parameters we will need later on def buildParameters = input( message: 'Which version of Krita is being built?', ok: 'Begin Build', parameters: [ choice(choices: "stable\nunstable\n", description: '', name: 'Release'), string(defaultValue: '', description: '', name: 'Version', trim: true) ] ) // Request a node to be allocated to us node( "WindowsMingw" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Now we download the release tarball, unpack it and rename the directory to something more convenient to use everywhere else bat """ - set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python36-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/;%PATH% + set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python38-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/;%PATH% set CA_CERT_BUNDLE=C:/Craft/Krita/windows-msvc2017_32-cl/etc/cacert.pem wget --ca-certificate %CA_CERT_BUNDLE% "https://origin.download.kde.org/${buildParameters['Release']}/krita/${buildParameters['Version']}/krita-${buildParameters['Version']}.tar.gz" 7za x "%WORKSPACE%/krita-${buildParameters['Version']}.tar.gz" 7za x "%WORKSPACE%/krita-${buildParameters['Version']}.tar" ren krita-${buildParameters['Version']} krita """ } // Now retrieve the dependency artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'krita-deps.zip', projectName: 'Krita_Release_Windows32_Dependency_Build' // Now we unpack them bat """ mkdir C:\\Packaging\\KritaWS\\ cd C:\\Packaging\\KritaWS\\ C:\\Craft\\Krita\\windows-msvc2017_32-cl\\dev-utils\\bin\\7za.exe x "%WORKSPACE%\\krita-deps.zip" """ } // Now we can build Krita stage('Building Krita') { // Before we can do this we need to setup some environment variables to help guide the Krita scripts around // In particular it needs: // PATH set to guide it to CMake and to allow it to find Mingw (Git and Python are already in PATH as standard convention for these builders) // SEVENZIP_EXE set to guide it to 7-Zip's console utility. It's detection support doesn't work as our binary is named 7za.exe instead of the apparently standard 7z.exe // Then we can run it // We also set SIGNTOOL_SIGN_FLAGS which is used by the package signing script when invoking signtool.exe bat """ - set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python36-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/;%PATH% + set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python38-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/;%PATH% set SEVENZIP_EXE=C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/7za.exe - set GETTEXT_SEARCH_PATH=C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/PROGRA~2/Python36-32/ + set GETTEXT_SEARCH_PATH=C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/PROGRA~2/Python38-32/ cmd /c krita\\build-tools\\windows\\build.cmd --no-interactive --skip-deps --src-dir "%WORKSPACE%\\krita" --download-dir "%WORKSPACE%\\downloads" --krita-build-dir "%WORKSPACE%\\build" --deps-install-dir "C:\\Packaging\\KritaWS\\deps-install" --krita-install-dir "C:\\Packaging\\KritaWS\\krita-install" if errorlevel 1 exit /b %errorlevel% set SIGNTOOL_SIGN_FLAGS=/v /n "K Desktop Environment e.V." /tr "http://timestamp.digicert.com" /td SHA256 /fd SHA256 cmd /c krita\\packaging\\windows\\package-complete.cmd --no-interactive --src-dir "%WORKSPACE%\\krita" --deps-install-dir "C:\\Packaging\\KritaWS\\deps-install" --krita-install-dir "C:\\Packaging\\KritaWS\\krita-install" --pre-zip-hook "%WORKSPACE%\\krita\\packaging\\windows\\sign-package.cmd" --package-name "krita-x86-${buildParameters['Version']}" if errorlevel 1 exit /b %errorlevel% """ } stage('Generating Installer') { // Let's build an installer! bat """ - set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python36-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/;%PATH% + set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python38-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/;%PATH% set PACKAGE_NAME=krita-x86-${buildParameters['Version']} cd C:\\Packaging\\KritaWS mkdir installer cd installer cmake -DREMOVE_DEBUG=ON -DOUTPUT_FILEPATH="%WORKSPACE%\\%PACKAGE_NAME%-setup.exe" -DKRITA_PACKAGE_ROOT="%WORKSPACE%\\%PACKAGE_NAME%" -P "C:\\Packaging\\KritaWS\\krita-install\\MakeinstallerNsis.cmake" if errorlevel 1 exit /b 1 call "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Auxiliary/Build/vcvars64.bat" set SIGNTOOL_SIGN_FLAGS=/v /n "K Desktop Environment e.V." /tr "http://timestamp.digicert.com" /td SHA256 /fd SHA256 signtool sign %SIGNTOOL_SIGN_FLAGS% "%WORKSPACE%\\%PACKAGE_NAME%-setup.exe" """ } // Now we capture them for use stage('Capturing Build') { // To do this we just ask Jenkins to capture the zip file as an artifact archiveArtifacts artifacts: 'krita-x86-*.zip, krita-x86-*-setup.exe', onlyIfSuccessful: true } } // As the Windows Slaves are permanent ones, we erase the Workspace as the last thing we do deleteDir() // Same goes for the stable workspace that we use bat """ rmdir /s /q C:\\Packaging\\KritaWS\\ """ } } diff --git a/custom-jobs/krita/Krita_Release_Windows32_Dependency_Build.pipeline b/custom-jobs/krita/Krita_Release_Windows32_Dependency_Build.pipeline index 722f384..b8ff39f 100644 --- a/custom-jobs/krita/Krita_Release_Windows32_Dependency_Build.pipeline +++ b/custom-jobs/krita/Krita_Release_Windows32_Dependency_Build.pipeline @@ -1,66 +1,66 @@ // Request a node to be allocated to us node( "WindowsMingw" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Krita Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'krita/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/krita']] ] } // Now we can build the dependencies of Krita stage('Building Dependencies') { // Before we can do this we need to setup some environment variables to help guide the Krita scripts around // In particular it needs: // PATH set to guide it to CMake and to allow it to find Mingw (Git and Python are already in PATH as standard convention for these builders) // SEVENZIP_EXE set to guide it to 7-Zip's console utility. It's detection support doesn't work as our binary is named 7za.exe instead of the apparently standard 7z.exe // Then we can run it bat """ - set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python36-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin;%PATH% + set PATH=C:/MingW/i686-7.3.0-posix-dwarf-rt_v5-rev0/mingw32/bin;C:/PROGRA~2/Python38-32/;C:/Craft/Krita/windows-msvc2017_32-cl/bin;C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin;%PATH% set SEVENZIP_EXE=C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/7za.exe - set GETTEXT_SEARCH_PATH=C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/PROGRA~2/Python36-32/ + set GETTEXT_SEARCH_PATH=C:/Craft/Krita/windows-msvc2017_32-cl/bin/;C:/PROGRA~2/Python38-32/ mkdir "C:\\Packaging\\KritaWS\\" mkdir "C:\\Packaging\\KritaDepsBuild\\" cmd /c krita\\build-tools\\windows\\build.cmd --no-interactive --skip-krita --src-dir "%WORKSPACE%\\krita" --download-dir "%WORKSPACE%\\downloads" --deps-build-dir "C:\\Packaging\\KritaDepsBuild\\" --deps-install-dir "C:\\Packaging\\KritaWS\\deps-install" if errorlevel 1 exit /b %errorlevel% """ } // Now we capture them for use stage('Capturing Dependencies') { // First we zip all of the dependencies up... bat """ cd C:/Packaging/KritaWS/ C:/Craft/Krita/windows-msvc2017_32-cl/dev-utils/bin/7za.exe a "%WORKSPACE%/krita-deps.zip" deps-install/ """ // Then we ask Jenkins to capture the zip file as an artifact archiveArtifacts artifacts: 'krita-deps.zip', onlyIfSuccessful: true } } // As the Windows Slaves are permanent ones, we erase the Workspace as the last thing we do deleteDir() // Same goes for the stable workspace that we use bat """ rmdir /s /q "C:\\Packaging\\KritaWS\\" rmdir /s /q "C:\\Packaging\\KritaDepsBuild\\" """ } }