Skip to content

Commit d7c6aee

Browse files
author
Mindaugas Veblauskas
committed
Merge branch 'release/3.2.1'
2 parents c99be0b + 55947ec commit d7c6aee

File tree

691 files changed

+26956
-4743
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

691 files changed

+26956
-4743
lines changed

.gitlab-ci-templates.yml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,29 @@
2828
script:
2929
- echo "Building native dependencies..."
3030
- 'c:\nuget\nuget.exe restore ProtonVPN.InstallActions.sln'
31-
- cmd.exe /c BuildDependencies.bat publish
31+
- cmd.exe /c BuildDependencies.bat $DEPENDENCIES
3232
- echo "Downloading translations from crowdin..."
3333
- python ci\build-scripts\main.py add-commit-hash $env:CI_COMMIT_SHORT_SHA
3434
- python ci\build-scripts\main.py defaultConfig
3535
- echo "Publishing ${TYPE}..."
36-
- dotnet publish ProtonVpn.sln -c ${TYPE} -r win-x64 --self-contained
36+
- dotnet publish ProtonVpn.sln -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
3737
- msbuild src\ProtonVPN.NativeHost\NativeHost.vcxproj /p:Configuration=Release /p:Platform=x64
3838
artifacts:
3939
expire_in: 1 day
4040
paths:
41-
- src/bin/win-x64/publish
42-
- src/ProtonVPN.NativeHost/bin
41+
- $BUILD_PATH
42+
- src/ProtonVPN.NativeHost/bin/
4343
variables:
44-
GIT_SUBMODULE_STRATEGY: normal
44+
GIT_SUBMODULE_STRATEGY: normal
45+
46+
.build-installer:
47+
stage: build-installer
48+
tags:
49+
- windows
50+
script:
51+
- python ci\build-scripts\main.py update-gh-list
52+
- python ci\build-scripts\main.py app-installer $env:CI_COMMIT_SHORT_SHA
53+
artifacts:
54+
paths:
55+
- Setup/Installers/
56+
expire_in: 4 weeks

.gitlab-ci.yml

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ include:
77
ref: master
88
file: '/jobs/sync-crowdin.gitlab-ci.yml'
99

10+
- project: 'ProtonVPN/qa/test-configuration'
11+
ref: develop
12+
file: '/windows-config.yml'
13+
1014
- local: '/.gitlab-ci-templates.yml'
1115

1216
variables:
@@ -42,6 +46,8 @@ build-release:
4246
- /^release.*$/
4347
variables:
4448
TYPE: Release
49+
DEPENDENCIES: publish
50+
BUILD_PATH: src/bin/win-x64/publish
4551

4652
build-debug:
4753
extends: .build-script
@@ -50,6 +56,21 @@ build-debug:
5056
- /^release.*$/
5157
variables:
5258
TYPE: Debug
59+
DEPENDENCIES: publish
60+
BUILD_PATH: src/bin/win-x64/publish
61+
62+
build-bti:
63+
extends:
64+
- .build-script
65+
- .build-bti-vars
66+
when: manual
67+
except:
68+
- master
69+
- /^release.*$/
70+
variables:
71+
TYPE: Debug
72+
DEPENDENCIES: publish-BTI
73+
BUILD_PATH: src/bin/win-x64/BTI/publish
5374

5475
ui-test:
5576
extends: .test_execution_script
@@ -88,17 +109,23 @@ tests:
88109
coverage: '/Total.*?([0-9]{1,3}.[0-9]{1,3})%/'
89110

90111
build-installer:
91-
stage: build-installer
92-
tags:
93-
- windows
94-
script:
95-
- python ci\build-scripts\main.py update-gh-list
96-
- python ci\build-scripts\main.py app-installer $env:CI_COMMIT_SHORT_SHA
97-
artifacts:
98-
paths:
99-
- Setup/Installers/
100-
expire_in: 4 weeks
101-
112+
dependencies:
113+
- build-debug
114+
- build-release
115+
extends:
116+
- .build-installer
117+
variables:
118+
BUILD_PATH: src/bin/win-x64/publish
119+
120+
build-BTI-installer:
121+
dependencies:
122+
- build-bti
123+
when: manual
124+
extends:
125+
- .build-installer
126+
variables:
127+
BUILD_PATH: src/bin/win-x64/BTI/publish
128+
102129
prepare-internal-beta-release:
103130
stage: internal-beta
104131
tags:

BuildDependencies.bat

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22

33
set currentDir=%~dp0
44
set publishDir=%currentDir%src\bin\win-x64\publish\
5+
set publishDirBTI=%currentDir%src\bin\win-x64\BTI\publish\
56
set binDir=%currentDir%src\bin\
67
set resourcesDir=%binDir%Resources
78

89
if "%~1"=="publish" (
910
set resourcesDir=%publishDir%Resources
1011
)
1112

13+
if "%~1"=="publish-BTI" (
14+
set resourcesDir=%publishDirBTI%Resources
15+
)
16+
1217
set buildParams=/p:PlatformToolset=v143 /p:Configuration=Release /p:OutDir=%resourcesDir% /clp:ErrorsOnly
1318
set x86buildParams=%buildParams% /p:Platform=Win32
1419
set x64buildParams=%buildParams% /p:Platform=x64

Setup/setup.iss

Lines changed: 44 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616

1717
#define Hash ""
1818
#define VersionFolder "v" + MyAppVersion
19+
#define SourcePath GetEnv("BUILD_PATH")
20+
#define IsBTISource SourcePath == "src/bin/win-x64/BTI/publish"
21+
#if IsBTISource
22+
#define OutputBaseSuffix "_BTI"
23+
#else
24+
#define OutputBaseSuffix ""
25+
#endif
1926

2027
#include "CodeDependencies.iss"
2128

@@ -29,7 +36,7 @@ DisableProgramGroupPage=auto
2936
AppPublisher={#MyPublisher}
3037
UninstallDisplayIcon={app}\{#LauncherExeName}
3138
UninstallDisplayName={#MyAppName}
32-
OutputBaseFilename=ProtonVPN_{#VersionFolder}
39+
OutputBaseFilename=ProtonVPN_{#VersionFolder}{#OutputBaseSuffix}
3340
WizardStyle=modern
3441
Compression=lzma2
3542
SolidCompression=yes
@@ -56,42 +63,42 @@ Root: HKCR; Subkey: "ProtonVPN\shell\open\command"; ValueType: string; ValueName
5663
Source: "..\src\ProtonVPN.NativeHost\bin\ProtonVPN.exe"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
5764
Source: "..\src\ProtonVPN.NativeHost\bin\nethost.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
5865

59-
Source: "..\src\bin\win-x64\publish\ProtonVPN.Launcher.exe"; DestDir: "{app}"; Flags: signonce;
60-
61-
Source: "..\src\bin\win-x64\publish\ProtonVPNService.exe"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
62-
Source: "..\src\bin\win-x64\publish\ProtonVPNService.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
63-
Source: "..\src\bin\win-x64\publish\ProtonVPNService.deps.json"; DestDir: "{app}\{#VersionFolder}";
64-
Source: "..\src\bin\win-x64\publish\ProtonVPNService.runtimeconfig.json"; DestDir: "{app}\{#VersionFolder}"; AfterInstall: InstallService;
65-
66-
Source: "..\src\bin\win-x64\publish\*.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
67-
Source: "..\src\bin\win-x64\publish\*.exe"; Excludes: "ProtonVPN.exe,ProtonVPN.Launcher.exe,ProtonVPNService.exe,createdump.exe"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
68-
Source: "..\src\bin\win-x64\publish\*.deps.json"; DestDir: "{app}\{#VersionFolder}";
69-
Source: "..\src\bin\win-x64\publish\*.dll.config"; DestDir: "{app}\{#VersionFolder}";
70-
71-
Source: "..\src\bin\win-x64\publish\runtimes\win-x64\native\*"; DestDir: "{app}\{#VersionFolder}\runtimes\win-x64\native";
72-
73-
Source: "..\src\bin\win-x64\publish\en-US\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\en-US"; Flags: signonce;
74-
Source: "..\src\bin\win-x64\publish\cs-CZ\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\cs-CZ"; Flags: signonce;
75-
Source: "..\src\bin\win-x64\publish\de-DE\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\de-DE"; Flags: signonce;
76-
Source: "..\src\bin\win-x64\publish\fa-IR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\fa-IR"; Flags: signonce;
77-
Source: "..\src\bin\win-x64\publish\fr-FR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\fr-FR"; Flags: signonce;
78-
Source: "..\src\bin\win-x64\publish\nl-NL\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\nl-NL"; Flags: signonce;
79-
Source: "..\src\bin\win-x64\publish\hr-HR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\hr-HR"; Flags: signonce;
80-
Source: "..\src\bin\win-x64\publish\id-ID\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\id-ID"; Flags: signonce;
81-
Source: "..\src\bin\win-x64\publish\it-IT\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\it-IT"; Flags: signonce;
82-
Source: "..\src\bin\win-x64\publish\pl-PL\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\pl-PL"; Flags: signonce;
83-
Source: "..\src\bin\win-x64\publish\pt-PT\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\pt-PT"; Flags: signonce;
84-
Source: "..\src\bin\win-x64\publish\pt-BR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\pt-BR"; Flags: signonce;
85-
Source: "..\src\bin\win-x64\publish\ro-RO\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\ro-RO"; Flags: signonce;
86-
Source: "..\src\bin\win-x64\publish\ru-RU\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\ru-RU"; Flags: signonce;
87-
Source: "..\src\bin\win-x64\publish\es-ES\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\es-ES"; Flags: signonce;
88-
Source: "..\src\bin\win-x64\publish\es-419\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\es-419"; Flags: signonce;
89-
Source: "..\src\bin\win-x64\publish\uk-UA\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\uk-UA"; Flags: signonce;
90-
Source: "..\src\bin\win-x64\publish\tr-TR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\tr-TR"; Flags: signonce;
91-
Source: "..\src\bin\win-x64\publish\be-BY\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\be-BY"; Flags: signonce;
92-
93-
Source: "..\src\bin\win-x64\publish\Resources\*.dll"; DestDir: "{app}\{#VersionFolder}\Resources"; Flags: signonce;
94-
Source: "..\src\bin\win-x64\publish\Resources\*.exe"; DestDir: "{app}\{#VersionFolder}\Resources"; Flags: signonce;
66+
Source: "..\{#SourcePath}\ProtonVPN.Launcher.exe"; DestDir: "{app}"; Flags: signonce;
67+
68+
Source: "..\{#SourcePath}\ProtonVPNService.exe"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
69+
Source: "..\{#SourcePath}\ProtonVPNService.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
70+
Source: "..\{#SourcePath}\ProtonVPNService.deps.json"; DestDir: "{app}\{#VersionFolder}";
71+
Source: "..\{#SourcePath}\ProtonVPNService.runtimeconfig.json"; DestDir: "{app}\{#VersionFolder}"; AfterInstall: InstallService;
72+
73+
Source: "..\{#SourcePath}\*.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
74+
Source: "..\{#SourcePath}\*.exe"; Excludes: "ProtonVPN.exe,ProtonVPN.Launcher.exe,ProtonVPNService.exe,createdump.exe"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
75+
Source: "..\{#SourcePath}\*.deps.json"; DestDir: "{app}\{#VersionFolder}";
76+
Source: "..\{#SourcePath}\*.dll.config"; DestDir: "{app}\{#VersionFolder}";
77+
78+
Source: "..\{#SourcePath}\runtimes\win-x64\native\*"; DestDir: "{app}\{#VersionFolder}\runtimes\win-x64\native";
79+
80+
Source: "..\{#SourcePath}\en-US\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\en-US"; Flags: signonce;
81+
Source: "..\{#SourcePath}\cs-CZ\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\cs-CZ"; Flags: signonce;
82+
Source: "..\{#SourcePath}\de-DE\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\de-DE"; Flags: signonce;
83+
Source: "..\{#SourcePath}\fa-IR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\fa-IR"; Flags: signonce;
84+
Source: "..\{#SourcePath}\fr-FR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\fr-FR"; Flags: signonce;
85+
Source: "..\{#SourcePath}\nl-NL\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\nl-NL"; Flags: signonce;
86+
Source: "..\{#SourcePath}\hr-HR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\hr-HR"; Flags: signonce;
87+
Source: "..\{#SourcePath}\id-ID\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\id-ID"; Flags: signonce;
88+
Source: "..\{#SourcePath}\it-IT\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\it-IT"; Flags: signonce;
89+
Source: "..\{#SourcePath}\pl-PL\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\pl-PL"; Flags: signonce;
90+
Source: "..\{#SourcePath}\pt-PT\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\pt-PT"; Flags: signonce;
91+
Source: "..\{#SourcePath}\pt-BR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\pt-BR"; Flags: signonce;
92+
Source: "..\{#SourcePath}\ro-RO\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\ro-RO"; Flags: signonce;
93+
Source: "..\{#SourcePath}\ru-RU\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\ru-RU"; Flags: signonce;
94+
Source: "..\{#SourcePath}\es-ES\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\es-ES"; Flags: signonce;
95+
Source: "..\{#SourcePath}\es-419\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\es-419"; Flags: signonce;
96+
Source: "..\{#SourcePath}\uk-UA\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\uk-UA"; Flags: signonce;
97+
Source: "..\{#SourcePath}\tr-TR\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\tr-TR"; Flags: signonce;
98+
Source: "..\{#SourcePath}\be-BY\ProtonVPN.Translations.resources.dll"; DestDir: "{app}\{#VersionFolder}\be-BY"; Flags: signonce;
99+
100+
Source: "..\{#SourcePath}\Resources\*.dll"; DestDir: "{app}\{#VersionFolder}\Resources"; Flags: signonce;
101+
Source: "..\{#SourcePath}\Resources\*.exe"; DestDir: "{app}\{#VersionFolder}\Resources"; Flags: signonce;
95102
Source: "..\src\ProtonVPN.Vpn\Resources\wireguard.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
96103
Source: "..\src\ProtonVPN.Vpn\Resources\tunnel.dll"; DestDir: "{app}\{#VersionFolder}"; Flags: signonce;
97104

ci/build-scripts/main.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ def print_sha256(file_path):
3333
custom_parser = subparsers.add_parser('app-installer')
3434
custom_parser.add_argument('hash', type=str, help='Commit hash string')
3535

36+
custom_parser = subparsers.add_parser('app-bti-installer')
37+
custom_parser.add_argument('hash', type=str, help='Commit hash string')
38+
3639
custom_parser = subparsers.add_parser('add-commit-hash')
3740
custom_parser.add_argument('hash', type=str, help='Commit hash string')
3841

@@ -74,11 +77,20 @@ def print_sha256(file_path):
7477
sys.exit(code)
7578

7679
elif args.command == 'app-installer':
77-
v = win32api.GetFileVersionInfo('.\\src\\bin\\win-x64\\publish\\ProtonVPN.exe', '\\')
80+
build_path = os.environ.get('BUILD_PATH', '.\\src\\bin\\win-x64\\publish\\')
81+
exe_path = os.path.join(build_path, 'ProtonVPN.exe')
82+
print('Executable File Path:', exe_path)
83+
v = win32api.GetFileVersionInfo(exe_path, '\\')
7884
semVersion = "%d.%d.%d" % (v['FileVersionMS'] / 65536, v['FileVersionMS'] % 65536, v['FileVersionLS'] / 65536)
7985
print('Building app installer')
8086
err = installer.build(semVersion, args.hash, 'Setup/setup.iss')
81-
print_sha256('.\Setup\Installers\ProtonVPN_v{semVersion}.exe'.format(semVersion=semVersion))
87+
installer_filename = 'ProtonVPN_v{semVersion}.exe'.format(semVersion=semVersion)
88+
89+
if 'BTI' in build_path:
90+
installer_filename = 'ProtonVPN_v{semVersion}_BTI.exe'.format(semVersion=semVersion)
91+
installer_path = os.path.join('.\Setup\Installers', installer_filename)
92+
93+
print_sha256(installer_path)
8294
sys.exit(err)
8395

8496
elif args.command == 'add-commit-hash':

src/Announcements/ProtonVPN.Announcements/AnnouncementService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@
3030
using ProtonVPN.Api.Contracts.Announcements;
3131
using ProtonVPN.Common.Configuration;
3232
using ProtonVPN.Common.Extensions;
33-
using ProtonVPN.Logging.Contracts;
34-
using ProtonVPN.Logging.Contracts.Events.AppLogs;
3533
using ProtonVPN.Common.OS.Net.Http;
3634
using ProtonVPN.Common.Threading;
3735
using ProtonVPN.Core.Auth;
3836
using ProtonVPN.Core.Settings;
3937
using ProtonVPN.Core.Users;
38+
using ProtonVPN.Logging.Contracts;
39+
using ProtonVPN.Logging.Contracts.Events.AppLogs;
4040

4141
namespace ProtonVPN.Announcements
4242
{

src/Api/ProtonVPN.Api.Contracts/IApiClient.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
using ProtonVPN.Api.Contracts.Certificates;
2525
using ProtonVPN.Api.Contracts.Common;
2626
using ProtonVPN.Api.Contracts.Geographical;
27-
using ProtonVPN.Api.Contracts.Partners;
2827
using ProtonVPN.Api.Contracts.ReportAnIssue;
2928
using ProtonVPN.Api.Contracts.Servers;
3029
using ProtonVPN.Api.Contracts.Streaming;
@@ -49,7 +48,6 @@ public interface IApiClient : IClientBase
4948
Task<ApiResponseResult<VpnConfig.VpnConfigResponse>> GetVpnConfig();
5049
Task<ApiResponseResult<AnnouncementsResponse>> GetAnnouncementsAsync(AnnouncementsRequest request);
5150
Task<ApiResponseResult<StreamingServicesResponse>> GetStreamingServicesAsync();
52-
Task<ApiResponseResult<PartnersResponse>> GetPartnersAsync();
5351
Task<ApiResponseResult<BaseResponse>> CheckAuthenticationServerStatusAsync();
5452
Task<ApiResponseResult<CertificateResponse>> RequestAuthCertificateAsync(CertificateRequest request);
5553
Task<ApiResponseResult<BaseResponse>> ApplyPromoCodeAsync(PromoCodeRequest promoCodeRequest);

src/Api/ProtonVPN.Api.Contracts/Partners/PartnerResponse.cs

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/Api/ProtonVPN.Api.Contracts/Partners/PartnerTypeResponse.cs

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)