.push_results_to_testmo: when: always except: - /^debug.*$/ - /^release\/9\.9\.9.*$/ - master - schedules tags: - redesign script: - if (!(Test-Path $UI_TEST_REPORT_PATH)) { Write-Host "No results found"; exit 1 } - ci\test-scripts\push-results-to-testmo.ps1 allow_failure: false .ui_test_execution_script: needs: - job: build-installer-debug-x64 optional: true - job: build-installer-release-x64 optional: true tags: - redesign #ui-tests-debug hooks: pre_get_sources_script: - Get-Process | Where-Object { $_.Name -like "proton*" } | Stop-Process -Force -ErrorAction Ignore - Get-Process | Where-Object { $_.Name -like "unins0*" } | Stop-Process -Force -ErrorAction Ignore script: - ci\test-scripts\uninstall-app.ps1 - ci\test-scripts\install-the-app.ps1 - dotnet build src/Tests/ProtonVPN.UI.Tests/ProtonVPN.UI.Tests.csproj --arch x64 -o src/bin/e2e - ci\test-scripts\run-tests.ps1 -Category ${CATEGORY} after_script: - ci\test-scripts\uninstall-app.ps1 artifacts: when: always name: "result-ui" paths: - $SCREENSHOT_PATH - $UI_TEST_REPORT_PATH expire_in: 1 weeks reports: junit: $UI_TEST_REPORT_PATH/*.xml .unit_test_config: stage: test tags: - windows-dot-net needs: [] variables: GIT_SUBMODULE_STRATEGY: normal .build-script: stage: build tags: - windows-dot-net script: - echo "Building native dependencies..." - nuget restore ProtonVPN.InstallActions.sln - cmd.exe /c BuildDependencies.bat ${DEPENDENCIES} - echo "Downloading translations from crowdin..." - 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} Identifier win-${PLATFORM} Output ${BUILD_PATH} Paltform ${PLATFORM}" - dotnet publish src\Client\ProtonVPN.Client\ProtonVPN.Client.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} - dotnet publish src\ProtonVPN.Service\ProtonVPN.Service.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} - dotnet publish src\ProtonVPN.TlsVerify\ProtonVPN.TlsVerify.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} - dotnet publish src\ProtonVPN.WireGuardService\ProtonVPN.WireGuardService.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} - dotnet publish src\ProtonVPN.RestoreInternet\ProtonVPN.RestoreInternet.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} - dotnet publish src\ProtonVPN.NrptWatchdog\ProtonVPN.NrptWatchdog.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} - dotnet publish src\ProtonVPN.Launcher\ProtonVPN.Launcher.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o ${BUILD_PATH} /p:Platform=${PLATFORM} -p:PublishSingleFile=true - dotnet publish src\ProtonInstaller\ProtonInstaller.csproj -c ${TYPE} -r win-${PLATFORM} --self-contained -o $BUILD_PATH /p:Platform=${PLATFORM} artifacts: expire_in: 1 day paths: - $BUILD_PATH variables: GIT_SUBMODULE_STRATEGY: normal .build-installer: stage: build-installer tags: - windows-vpn-signer-v1 script: - python ci\build-scripts\main.py app-installer $env:CI_COMMIT_SHORT_SHA ${PLATFORM} artifacts: paths: - Setup/Installers/ expire_in: 4 weeks variables: FF_USE_FASTZIP: "true" TRANSFER_METER_FREQUENCY: "2s" ARTIFACT_COMPRESSION_LEVEL: "fastest" CACHE_COMPRESSION_LEVEL: "fastest" FASTZIP_ARCHIVER_BUFFER_SIZE: 128