Skip to content

Commit 81df3e0

Browse files
author
Mindaugas Veblauskas
committed
Merge branch 'release/2.4.1'
2 parents 8b129ad + 94e80df commit 81df3e0

File tree

2,084 files changed

+3005
-2936
lines changed

Some content is hidden

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

2,084 files changed

+3005
-2936
lines changed

.gitlab-ci.yml

Lines changed: 63 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
1+
include:
2+
- project: 'tpe/testmo-reporter'
3+
ref: master
4+
file: '/scenarios/testmo-multiple.yml'
5+
6+
- project: 'translations/generator'
7+
ref: master
8+
file: '/jobs/commit-locales.gitlab-ci.yml'
9+
10+
- project: 'translations/generator'
11+
ref: master
12+
file: '/jobs/sync-crowdin.gitlab-ci.yml'
13+
114
variables:
215
PUBLIC_REPO_URL: [email protected]:ProtonVPN/win-app.git
316
SCREENSHOT_PATH: src/bin/TestFailureData/
17+
TEST_REPORT_PATH: results/
18+
PROJECT_ID: "1"
19+
MILESTONE: "Automation"
420

521
stages:
622
- release
@@ -11,8 +27,11 @@ stages:
1127
- build-installer
1228
- internal-beta
1329
- publish-to-slack
30+
- test-setup
1431
- ui-test
32+
- test-upload
1533
- installation-test
34+
- test-cleanup
1635
- mirror
1736

1837
sign:
@@ -120,7 +139,7 @@ build-installer-for-release:
120139
only:
121140
- master
122141
- /^release.*$/
123-
142+
124143
prepare-internal-beta-release:
125144
stage: internal-beta
126145
tags:
@@ -149,43 +168,74 @@ build-installer-for-debug:
149168
- master
150169
- /^release.*$/
151170

171+
testmo-setup:
172+
allow_failure: true
173+
stage: test-setup
174+
rules:
175+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
176+
when: never
177+
- if: $CI_COMMIT_REF_NAME == "release/9.9.9" || $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME =~ "/debug/"
178+
when: never
179+
- if: $CI_COMMIT_REF_NAME =~ "/release/"
180+
variables:
181+
SOURCE: "Release"
182+
- when: always
183+
variables:
184+
SOURCE: "Automation"
185+
NAME: "$CI_JOB_STARTED_AT UTC"
186+
TAGS: "$CI_COMMIT_REF_SLUG"
187+
152188
ui-test:
153189
stage: ui-test
154190
tags:
155191
- ui_tests
156192
script:
157193
- powershell -File ci\uninstall-app.ps1
158194
- powershell -File ci\install-the-app.ps1
159-
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /TestCaseFilter:"Category=UI"
195+
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /TestCaseFilter:"Category=UI" /Settings:ci/TestRun/test-run-settings.xml
160196
- powershell -File ci\uninstall-app.ps1
197+
after_script:
198+
- powershell.exe ./ci/TestRun/converter-nunit-junit.ps1
161199
except:
162200
- /^debug.*$/
163201
- release/9.9.9
164202
- master
165203
artifacts:
166-
when: on_failure
204+
when: always
205+
name: "result-ui"
167206
paths:
168207
- $SCREENSHOT_PATH
169-
expire_in: 2 weeks
170-
208+
- "results/*"
209+
expire_in: 1 weeks
210+
171211
connection-tests:
172212
stage: ui-test
173213
tags:
174214
- connection_tests
175215
script:
176216
- powershell -File ci\uninstall-app.ps1
177217
- powershell -File ci\install-the-app.ps1
178-
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /TestCaseFilter:"Category=Connection"
218+
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /TestCaseFilter:"Category=Connection" /Settings:ci/TestRun/test-run-settings.xml
179219
- powershell -File ci\uninstall-app.ps1
220+
after_script:
221+
- powershell.exe ./ci/TestRun/converter-nunit-junit.ps1
180222
except:
181223
- /^debug.*$/
182224
- release/9.9.9
183225
- master
184226
artifacts:
185-
when: on_failure
227+
when: always
228+
name: "result-connection"
186229
paths:
187230
- $SCREENSHOT_PATH
188-
expire_in: 2 weeks
231+
- "results/*"
232+
expire_in: 1 weeks
233+
234+
testmo-upload:
235+
allow_failure: true
236+
stage: test-upload
237+
variables:
238+
RESULT_FOLDER: "results/*.xml"
189239

190240
win-11-tests:
191241
stage: ui-test
@@ -196,7 +246,6 @@ win-11-tests:
196246
- powershell -File ci\uninstall-app.ps1
197247
- powershell -File ci\install-the-app.ps1
198248
- VSTest.Console.exe src\bin\ProtonVPN.UI.Tests.dll /TestCaseFilter:"Category=Smoke"
199-
- powershell -File ci\uninstall-app.ps1
200249
except:
201250
- /^debug.*$/
202251
- release/9.9.9
@@ -224,33 +273,24 @@ mirror:
224273
- git push public master
225274
- git push public "$(git describe --abbrev=0)"
226275

227-
include:
228-
- project: 'translations/generator'
229-
ref: master
230-
file: '/jobs/commit-locales.gitlab-ci.yml'
231-
232-
- project: 'translations/generator'
233-
ref: master
234-
file: '/jobs/sync-crowdin.gitlab-ci.yml'
235-
236276
i18n-sync-crowdin:
237277
when: manual
238278
variables:
239-
I18N_SYNC_CROWDIN_PROJECT: 'windows-vpn'
279+
I18N_SYNC_CROWDIN_PROJECT: 'windows-vpn'
240280
extends: .i18n-sync-crowdin-common
241281

242282
i18n-manual-sync-crowdin:
243283
when: manual
244284
only:
245285
- branches
246286
variables:
247-
I18N_SYNC_CROWDIN_PROJECT: 'windows-vpn'
287+
I18N_SYNC_CROWDIN_PROJECT: 'windows-vpn'
248288
extends: .i18n-sync-crowdin-common
249289

250290
i18n-commit-translations:
251291
extends: .i18n-commit-locales-shared
252292
variables:
253-
I18N_COMMIT_CROWDIN_PROJECT: 'windows-vpn'
293+
I18N_COMMIT_CROWDIN_PROJECT: 'windows-vpn'
254294
before_script:
255295
- git config --global core.autocrlf false
256296

@@ -261,10 +301,11 @@ create-release:
261301
only:
262302
refs:
263303
- develop
304+
- develop-v2
264305
script:
265306
- apt-get update && apt-get install -y python3 python3-pip git
266307
- python3 ci/release.py
267-
308+
268309
send-slack-notification:
269310
tags:
270311
- windows

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
By making a contribution to this project:
44

5-
1. I assign any and all copyright related to the contribution to Proton Technologies AG;
5+
1. I assign any and all copyright related to the contribution to Proton AG;
66
2. I certify that the contribution was created in whole by me;
77
3. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed with this project or the open source license(s) involved.

ProtonVpn.sln.licenseheader

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
extensions: .cs
22
/*
3-
* Copyright (c) 2020 Proton Technologies AG
3+
* Copyright (c) 2023 Proton AG
44
*
55
* This file is part of ProtonVPN.
66
*
@@ -20,7 +20,7 @@ extensions: .cs
2020

2121
extensions: .xaml
2222
<!--
23-
Copyright (c) 2020 Proton Technologies AG
23+
Copyright (c) 2023 Proton AG
2424

2525
This file is part of ProtonVPN.
2626

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Proton VPN Windows app
22

3-
Copyright (c) 2022 Proton Technologies AG
3+
Copyright (c) 2023 Proton AG
44

55
This repository holds the Proton VPN Windows app.
66
For a detailed build information see [BUILD](BUILD.md).

VisualStudioItemTemplates/CSharp/Code/1033/Class/Class.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022 Proton Technologies AG
2+
* Copyright (c) 2023 Proton AG
33
*
44
* This file is part of ProtonVPN.
55
*

VisualStudioItemTemplates/CSharp/Code/1033/Interface/Interface.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022 Proton Technologies AG
2+
* Copyright (c) 2023 Proton AG
33
*
44
* This file is part of ProtonVPN.
55
*

VisualStudioItemTemplates/CSharp/Code/1033/WebClass/Class.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022 Proton Technologies AG
2+
* Copyright (c) 2023 Proton AG
33
*
44
* This file is part of ProtonVPN.
55
*
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
$outputPath = "/results/" + $env:CI_JOB_NAME + "-results.xml"
2+
$folder = Join-Path ($pwd) "/results/"
3+
If(!(test-path -PathType container $folder))
4+
{
5+
New-Item -ItemType Directory -Path $folder
6+
}
7+
$xml = Resolve-Path nunit-results\ProtonVPN.UI.Tests.xml
8+
$output = Join-Path ($pwd) $outputPath
9+
$xslt = New-Object System.Xml.Xsl.XslCompiledTransform;
10+
$xslt.Load(".\ci\TestRun\nunit3-junit.xslt");
11+
$xslt.Transform($xml, $output);

ci/TestRun/nunit3-junit.xslt

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3+
<xsl:output method="xml" indent="yes"/>
4+
5+
<xsl:template match="/test-run">
6+
<testsuites tests="{@testcasecount}" failures="{@failed}" disabled="{@skipped}" time="{@duration}">
7+
<xsl:apply-templates/>
8+
</testsuites>
9+
</xsl:template>
10+
11+
<xsl:template match="test-suite">
12+
<xsl:if test="test-case">
13+
<testsuite tests="{@testcasecount}" time="{@duration}" errors="{@testcasecount - @passed - @skipped - @failed}" failures="{@failed}" skipped="{@skipped}" timestamp="{@start-time}">
14+
<xsl:attribute name="name">
15+
<xsl:for-each select="ancestor-or-self::test-suite[@type='TestSuite']/@name">
16+
<xsl:value-of select="concat(., '.')"/>
17+
</xsl:for-each>
18+
</xsl:attribute>
19+
<xsl:apply-templates select="test-case"/>
20+
</testsuite>
21+
<xsl:apply-templates select="test-suite"/>
22+
</xsl:if>
23+
<xsl:if test="not(test-case)">
24+
<xsl:apply-templates/>
25+
</xsl:if>
26+
</xsl:template>
27+
28+
<xsl:template match="test-case">
29+
<testcase name="{@name}" assertions="{@asserts}" time="{@duration}" status="{@result}" classname="{@classname}">
30+
<xsl:if test="@runstate = 'Skipped' or @runstate = 'Ignored'">
31+
<skipped/>
32+
</xsl:if>
33+
34+
<xsl:apply-templates/>
35+
</testcase>
36+
</xsl:template>
37+
38+
<xsl:template match="command-line"/>
39+
<xsl:template match="settings"/>
40+
<xsl:template match="filter"/>
41+
42+
<xsl:template match="output">
43+
<system-out>
44+
<xsl:value-of select="."/>
45+
</system-out>
46+
</xsl:template>
47+
48+
<xsl:template match="stack-trace">
49+
</xsl:template>
50+
51+
<xsl:template match="test-case/failure">
52+
<failure message="{./message}">
53+
<xsl:value-of select="./stack-trace"/>
54+
</failure>
55+
</xsl:template>
56+
57+
<xsl:template match="test-suite/failure"/>
58+
59+
<xsl:template match="test-case/reason">
60+
<xsl:if test="./message != null">
61+
<skipped message="{./message}"/>
62+
</xsl:if>
63+
</xsl:template>
64+
65+
<xsl:template match="test-case/assertions">
66+
</xsl:template>
67+
68+
<xsl:template match="test-suite/reason"/>
69+
70+
<xsl:template match="properties"/>
71+
</xsl:stylesheet>
72+

ci/TestRun/test-run-settings.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RunSettings>
3+
<NUnit>
4+
<TestOutputXml>../../nunit-results</TestOutputXml>
5+
</NUnit>
6+
</RunSettings>

0 commit comments

Comments
 (0)