Prepare portable bundle on Windows as a second option.
This commit is contained in:
parent
f48dd59087
commit
18545d6355
10
appveyor.yml
10
appveyor.yml
|
@ -349,8 +349,8 @@ for:
|
||||||
- (python --version)
|
- (python --version)
|
||||||
# Install the build dependencies of the project.
|
# Install the build dependencies of the project.
|
||||||
- (python -m pip install --upgrade pip)
|
- (python -m pip install --upgrade pip)
|
||||||
- if "%DEPLOY%" == "true" (python -m pip install dropbox)
|
- if "%DEPLOY%" == "true" (python -m pip install dropbox py7zr)
|
||||||
- python -m pip install conan==1.61.0
|
- python -m pip install conan==1.63.0
|
||||||
- dir "C:\"
|
- dir "C:\"
|
||||||
- dir "C:\Qt"
|
- dir "C:\Qt"
|
||||||
- dir "C:\Qt\Tools"
|
- dir "C:\Qt\Tools"
|
||||||
|
@ -481,7 +481,7 @@ for:
|
||||||
- if "%DEPLOY%" == "true" (python --version)
|
- if "%DEPLOY%" == "true" (python --version)
|
||||||
# Install the build dependencies of the project.
|
# Install the build dependencies of the project.
|
||||||
- if "%DEPLOY%" == "true" (python -m pip install --upgrade pip)
|
- if "%DEPLOY%" == "true" (python -m pip install --upgrade pip)
|
||||||
- if "%DEPLOY%" == "true" (python -m pip install dropbox)
|
- if "%DEPLOY%" == "true" (python -m pip install dropbox py7zr)
|
||||||
# Trick qmake to not work through MSYS
|
# Trick qmake to not work through MSYS
|
||||||
- del /F "C:\Program Files\Git\usr\bin\sh.exe"
|
- del /F "C:\Program Files\Git\usr\bin\sh.exe"
|
||||||
- del /F "C:\Program Files\Git\bin\sh.exe"
|
- del /F "C:\Program Files\Git\bin\sh.exe"
|
||||||
|
@ -643,7 +643,7 @@ for:
|
||||||
|
|
||||||
fi
|
fi
|
||||||
- sudo python3 -m pip install --upgrade pip
|
- sudo python3 -m pip install --upgrade pip
|
||||||
- pip3 install --user --upgrade pip dropbox 'urllib3<2.0'
|
- pip3 install --user --upgrade pip dropbox py7zr 'urllib3<2.0'
|
||||||
- export QTDIR=`$(brew --prefix qt6)`
|
- export QTDIR=`$(brew --prefix qt6)`
|
||||||
- export PATH="$PATH:`python3 -m site --user-base`/bin:$QTDIR/bin"
|
- export PATH="$PATH:`python3 -m site --user-base`/bin:$QTDIR/bin"
|
||||||
- echo $PATH
|
- echo $PATH
|
||||||
|
@ -827,7 +827,7 @@ for:
|
||||||
|
|
||||||
fi
|
fi
|
||||||
- sudo python3 -m pip install --upgrade pip
|
- sudo python3 -m pip install --upgrade pip
|
||||||
- pip3 install --user --upgrade pip dropbox 'urllib3<2.0'
|
- pip3 install --user --upgrade pip dropbox py7zr 'urllib3<2.0'
|
||||||
- export PATH="`brew --prefix qbs`/bin:$PATH"
|
- export PATH="`brew --prefix qbs`/bin:$PATH"
|
||||||
- echo $PATH
|
- echo $PATH
|
||||||
- clang --version
|
- clang --version
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
$env:BUILD_FOLDER = "$env:APPVEYOR_BUILD_FOLDER\build";
|
$env:BUILD_FOLDER = "$env:APPVEYOR_BUILD_FOLDER\build";
|
||||||
$env:INSTALL_ROOT = "$env:BUILD_FOLDER\install-root\valentina";
|
$env:INSTALL_ROOT = "$env:BUILD_FOLDER\install-root\valentina";
|
||||||
|
|
||||||
$file_name = "valentina-$env:TARGET_PLATFORM-$env:COMPILER-$env:ARCH-$env:QT_VERSION-$env:APPVEYOR_REPO_BRANCH-$env:APPVEYOR_REPO_COMMIT.exe";
|
$type = "$env:TARGET_PLATFORM-$env:COMPILER-$env:ARCH-$env:QT_VERSION-$env:APPVEYOR_REPO_BRANCH-$env:APPVEYOR_REPO_COMMIT";
|
||||||
|
$file_name = "valentina-${type}.exe";
|
||||||
|
$portable_file_name = "valentina-portable-${type}.7z";
|
||||||
|
|
||||||
if($env:DEPLOY -eq "true") {
|
if($env:DEPLOY -eq "true") {
|
||||||
Write-Host "[CI] Preparing installer." -ForegroundColor Green;
|
Write-Host "[CI] Preparing installer." -ForegroundColor Green;
|
||||||
|
@ -21,7 +23,7 @@ if($env:DEPLOY -eq "true") {
|
||||||
Write-Host "[CI] Cleaning done." -ForegroundColor Green;
|
Write-Host "[CI] Cleaning done." -ForegroundColor Green;
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "[CI] Uploading." -ForegroundColor Green;
|
Write-Host "[CI] Uploading installer." -ForegroundColor Green;
|
||||||
& $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" upload $env:ACCESS_TOKEN "$env:INSTALL_ROOT\ValentinaInstaller.exe" "/0.7.x/Windows/$file_name";
|
& $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" upload $env:ACCESS_TOKEN "$env:INSTALL_ROOT\ValentinaInstaller.exe" "/0.7.x/Windows/$file_name";
|
||||||
if ($LastExitCode -ne 0) {
|
if ($LastExitCode -ne 0) {
|
||||||
Write-Error -Message "[CI] Error uploading an artifact." -Category InvalidResult;
|
Write-Error -Message "[CI] Error uploading an artifact." -Category InvalidResult;
|
||||||
|
@ -29,6 +31,25 @@ if($env:DEPLOY -eq "true") {
|
||||||
} else {
|
} else {
|
||||||
Write-Host "[CI] Uploading has been finished." -ForegroundColor Green;
|
Write-Host "[CI] Uploading has been finished." -ForegroundColor Green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Write-Host "[CI] Starting packing." -ForegroundColor Green;
|
||||||
|
Remove-Item -Path "$env:INSTALL_ROOT\ValentinaInstaller.exe";
|
||||||
|
& $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" pack "$env:INSTALL_ROOT" "$env:BUILD_FOLDER\install-root\$portable_file_name";
|
||||||
|
if ($LastExitCode -ne 0) {
|
||||||
|
Write-Error -Message "[CI] Error creating an archive." -Category InvalidResult;
|
||||||
|
exit 1;
|
||||||
|
} else {
|
||||||
|
Write-Host "[CI] Done." -ForegroundColor Green;
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "[CI] Uploading portable bundle." -ForegroundColor Green;
|
||||||
|
& $env:PYTHON\python.exe "$env:APPVEYOR_BUILD_FOLDER\scripts\deploy.py" upload $env:ACCESS_TOKEN "$env:BUILD_FOLDER\install-root\$portable_file_name" "/0.7.x/Windows/$portable_file_name";
|
||||||
|
if ($LastExitCode -ne 0) {
|
||||||
|
Write-Error -Message "[CI] Error uploading an artifact." -Category InvalidResult;
|
||||||
|
exit 1;
|
||||||
|
} else {
|
||||||
|
Write-Host "[CI] Uploading has been finished." -ForegroundColor Green;
|
||||||
|
}
|
||||||
Exit 0;
|
Exit 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import pathlib
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
import py7zr
|
||||||
|
|
||||||
import dropbox
|
import dropbox
|
||||||
from dropbox import DropboxOAuth2FlowNoRedirect
|
from dropbox import DropboxOAuth2FlowNoRedirect
|
||||||
|
@ -47,15 +48,23 @@ def run_pack(source, destination):
|
||||||
|
|
||||||
formats = {
|
formats = {
|
||||||
".zip": "zip",
|
".zip": "zip",
|
||||||
".tar.xz": "xztar"
|
".tar.xz": "xztar",
|
||||||
|
".7z": "7zip"
|
||||||
}
|
}
|
||||||
suffix = ''.join(pathlib.Path(base).suffixes)
|
suffix = ''.join(pathlib.Path(base).suffixes)
|
||||||
format = formats.get(suffix)
|
|
||||||
archive_from = pathlib.Path(source).parent
|
archive_from = pathlib.Path(source).parent
|
||||||
archive_to = os.path.basename(source.strip(os.sep))
|
archive_to = os.path.basename(source.strip(os.sep))
|
||||||
print(source, destination, archive_from)
|
print(source, destination, archive_from)
|
||||||
shutil.make_archive(name, format, archive_from, archive_to)
|
format = formats.get(suffix)
|
||||||
shutil.move(f'{name}{suffix}', destination)
|
if format:
|
||||||
|
if format == "7zip":
|
||||||
|
with py7zr.SevenZipFile(f"{name}{suffix}", 'w') as archive:
|
||||||
|
archive.writeall(source, arcname=os.path.basename(source))
|
||||||
|
else:
|
||||||
|
shutil.make_archive(name, format, archive_from, archive_to)
|
||||||
|
shutil.move(f'{name}{suffix}', destination)
|
||||||
|
else:
|
||||||
|
print("Unsupported archive format.")
|
||||||
|
|
||||||
|
|
||||||
def run_upload(refresh_token, file, path):
|
def run_upload(refresh_token, file, path):
|
||||||
|
@ -136,6 +145,10 @@ def run_clean(refresh_token):
|
||||||
r'^valentina-Windows7\+-mingw-x86-Qt.*-develop-[a-f0-9]{40}\.exe$',
|
r'^valentina-Windows7\+-mingw-x86-Qt.*-develop-[a-f0-9]{40}\.exe$',
|
||||||
r'^valentina-Windows10\+-msvc-x64-Qt.*-develop-[a-f0-9]{40}\.exe$',
|
r'^valentina-Windows10\+-msvc-x64-Qt.*-develop-[a-f0-9]{40}\.exe$',
|
||||||
r'^valentina-Windows7\+-msvc-x86-Qt.*-develop-[a-f0-9]{40}\.exe$',
|
r'^valentina-Windows7\+-msvc-x86-Qt.*-develop-[a-f0-9]{40}\.exe$',
|
||||||
|
r'^valentina-portable-Windows10\+-mingw-x64-Qt.*-develop-[a-f0-9]{40}\.7z$',
|
||||||
|
r'^valentina-portable-Windows7\+-mingw-x86-Qt.*-develop-[a-f0-9]{40}\.7z$',
|
||||||
|
r'^valentina-portable-Windows10\+-msvc-x64-Qt.*-develop-[a-f0-9]{40}\.7z$',
|
||||||
|
r'^valentina-portable-Windows7\+-msvc-x86-Qt.*-develop-[a-f0-9]{40}\.7z$',
|
||||||
r'^valentina-macOS_11\+-Qt.*-x64-develop-[a-f0-9]{40}\.dmg$',
|
r'^valentina-macOS_11\+-Qt.*-x64-develop-[a-f0-9]{40}\.dmg$',
|
||||||
r'^valentina-macOS_11\+-Qt.*-x64-develop-multibundle-[a-f0-9]{40}\.dmg$',
|
r'^valentina-macOS_11\+-Qt.*-x64-develop-multibundle-[a-f0-9]{40}\.dmg$',
|
||||||
r'^valentina-macOS_10.13\+-Qt.*-x64-develop-[a-f0-9]{40}\.dmg$',
|
r'^valentina-macOS_10.13\+-Qt.*-x64-develop-[a-f0-9]{40}\.dmg$',
|
||||||
|
|
Loading…
Reference in New Issue
Block a user