-
Notifications
You must be signed in to change notification settings - Fork 381
Expand file tree
/
Copy path.gitlab-ci-templates.yml
More file actions
83 lines (80 loc) · 3.4 KB
/
.gitlab-ci-templates.yml
File metadata and controls
83 lines (80 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
.ui_test_execution_script:
stage: ui-test
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.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