Skip to content

Commit

Permalink
Merge branch 'release/3.4.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
Mindaugas Veblauskas committed Nov 19, 2024
2 parents 0137c33 + dbfbd84 commit e3f5049
Show file tree
Hide file tree
Showing 431 changed files with 9,276 additions and 6,489 deletions.
55 changes: 42 additions & 13 deletions .gitlab-ci-templates.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
.test_execution_script:
stage: ui-test
dependencies:
- build-installer
needs:
- job: build-installer-debug-x64
optional: true
- job: build-installer-release-x64
optional: true
hooks:
pre_get_sources_script:
- Get-Process | Where-Object { $_.Name -like "proton*" } | Stop-Process -Force
tags:
- e2e-tests
script:
before_script:
- ci\test-scripts\uninstall-app.ps1
script:
- ci\test-scripts\install-the-app.ps1
- dotnet build src/Tests/ProtonVPN.UI.Tests/ProtonVPN.UI.Tests.csproj --arch x64 -o src/bin
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /Settings:ci/test-scripts/TestRun/test-run-settings.xml /TestCaseFilter:"Category=${CATEGORY}"
after_script:
- ci\test-scripts\uninstall-app.ps1
artifacts:
when: always
Expand All @@ -24,21 +32,21 @@
script:
- echo "Building native dependencies..."
- nuget restore ProtonVPN.InstallActions.sln
- cmd.exe /c BuildDependencies.bat $DEPENDENCIES
- cmd.exe /c BuildDependencies.bat ${DEPENDENCIES}
- python ci\build-scripts\main.py add-commit-hash $env:CI_COMMIT_SHORT_SHA
- python ci\build-scripts\main.py defaultConfig
- dotnet build src\Builds\ProtonVPN.Builds.ConsoleJob\ProtonVPN.Builds.ConsoleJob.csproj
- echo "Injecting CI variables"
- src\bin\ProtonVPN.Builds.ConsoleJob.exe
- echo "Publishing ${TYPE}..."
- dotnet publish src/ProtonVPN.App/ProtonVPN.App.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.Service/ProtonVPN.Service.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.WireguardService/ProtonVPN.WireguardService.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.TlsVerify/ProtonVPN.TlsVerify.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.Launcher/ProtonVPN.Launcher.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.RestoreInternet/ProtonVPN.RestoreInternet.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonDrive.Downloader/ProtonDrive.Downloader.csproj -c ${TYPE} -r win-x64 --self-contained -o $BUILD_PATH
- msbuild src\ProtonVPN.NativeHost\NativeHost.vcxproj /p:Configuration=Release /p:Platform=x64
- dotnet publish src/ProtonVPN.App/ProtonVPN.App.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.Service/ProtonVPN.Service.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.WireguardService/ProtonVPN.WireguardService.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.TlsVerify/ProtonVPN.TlsVerify.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.Launcher/ProtonVPN.Launcher.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonVPN.RestoreInternet/ProtonVPN.RestoreInternet.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- dotnet publish src/ProtonInstaller/ProtonInstaller.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH
- msbuild src\ProtonVPN.NativeHost\NativeHost.vcxproj /p:Configuration=Release /p:Platform=${PLATFORM}
artifacts:
expire_in: 1 day
paths:
Expand All @@ -53,7 +61,7 @@
- windows-vpn-signer
script:
- python ci\build-scripts\main.py update-gh-list
- python ci\build-scripts\main.py app-installer $env:CI_COMMIT_SHORT_SHA
- python ci\build-scripts\main.py app-installer $env:CI_COMMIT_SHORT_SHA ${PLATFORM}
artifacts:
paths:
- Setup/Installers/
Expand All @@ -64,3 +72,24 @@
ARTIFACT_COMPRESSION_LEVEL: "fastest"
CACHE_COMPRESSION_LEVEL: "fastest"
FASTZIP_ARCHIVER_BUFFER_SIZE: 128

.tests:
stage: test
script:
- cmd.exe /c BuildDependencies.bat bin
- dotnet build src\Builds\ProtonVPN.Builds.ConsoleJob\ProtonVPN.Builds.ConsoleJob.csproj
- echo "Injecting CI variables"
- src\bin\ProtonVPN.Builds.ConsoleJob.exe
- dotnet restore ProtonVpn.sln
- dotnet build ProtonVpn.sln
- coverlet src\bin --target "dotnet" --targetargs "test ProtonVpn.sln -l ""console;verbosity=normal"" --filter ""TestCategory!=UI&TestCategory!=Connection&TestCategory!=Performance&TestCategory!=BTI"" --no-restore --no-build" --format cobertura --output .\coverage-reports --exclude "[*.Tests*]*" --exclude "[ProtonVPN.MarkupValidator]*" --exclude "[TestTools*]*" --exclude "[*.Installers]*"
- powershell -Command "(gc coverage-reports.cobertura.xml) -replace '\\', '/' | Out-File -encoding UTF8 cobertura.xml"
- ReportGenerator.exe "-reports:cobertura.xml" "-targetdir:.\code-coverage-report-html"
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: cobertura.xml
coverage: '/Total.*?([0-9]{1,3}.[0-9]{1,3})%/'
variables:
GOSRPONLY: "true"
Loading

0 comments on commit e3f5049

Please sign in to comment.