mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2026-02-04 00:08:33 +00:00
174 lines
3.6 KiB
YAML
174 lines
3.6 KiB
YAML
---
|
|
lint:
|
|
stage: test
|
|
extends:
|
|
- .image-linux-test
|
|
- .rules-branch-manual-br-tag-and-MR-and-devel-always
|
|
script:
|
|
- make lint
|
|
tags:
|
|
- shared-medium
|
|
|
|
lint-bug-report-preview:
|
|
stage: test
|
|
extends:
|
|
- .image-linux-test
|
|
- .rules-branch-and-MR-manual
|
|
script:
|
|
- make lint-bug-report-preview
|
|
tags:
|
|
- shared-medium
|
|
|
|
.script-test:
|
|
stage: test
|
|
extends:
|
|
- .rules-branch-manual-MR-and-devel-always
|
|
script:
|
|
- which go && go version
|
|
- which gcc && gcc --version
|
|
- make test
|
|
artifacts:
|
|
paths:
|
|
- coverage/**
|
|
|
|
test-linux:
|
|
extends:
|
|
- .image-linux-test
|
|
- .script-test
|
|
tags:
|
|
- shared-large
|
|
|
|
test-windows:
|
|
extends:
|
|
- .env-windows
|
|
- .script-test
|
|
|
|
test-darwin:
|
|
extends:
|
|
- .env-darwin
|
|
- .script-test
|
|
|
|
fuzz-linux:
|
|
stage: test
|
|
extends:
|
|
- .image-linux-test
|
|
- .rules-branch-manual-MR-and-devel-always
|
|
script:
|
|
- make fuzz
|
|
tags:
|
|
- shared-large
|
|
|
|
test-linux-race:
|
|
extends:
|
|
- test-linux
|
|
- .rules-branch-and-MR-manual
|
|
script:
|
|
- make test-race
|
|
|
|
test-integration:
|
|
extends:
|
|
- test-linux
|
|
script:
|
|
- make test-integration | tee -a integration-job.log
|
|
after_script:
|
|
- |
|
|
grep "Error: " integration-job.log
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- integration-job.log
|
|
|
|
test-integration-race:
|
|
extends:
|
|
- test-integration
|
|
- .rules-branch-and-MR-manual
|
|
script:
|
|
- make test-integration-race | tee -a integration-race-job.log
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- integration-race-job.log
|
|
|
|
test-integration-nightly:
|
|
extends:
|
|
- test-integration
|
|
- .rules-branch-manual-scheduled-and-test-branch-always
|
|
needs:
|
|
- test-integration
|
|
script:
|
|
- make test-integration-nightly | tee -a nightly-job.log
|
|
after_script:
|
|
- |
|
|
grep "Error: " nightly-job.log
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- tests/result/feature-tests.xml
|
|
- nightly-job.log
|
|
|
|
test-coverage:
|
|
stage: test
|
|
extends:
|
|
- .image-linux-test
|
|
- .rules-branch-manual-scheduled-and-test-branch-always
|
|
script:
|
|
- ./utils/coverage.sh
|
|
coverage: '/total:.*\(statements\).*\d+\.\d+%/'
|
|
needs:
|
|
- test-linux
|
|
- test-windows
|
|
- test-darwin
|
|
- test-integration
|
|
- test-integration-nightly
|
|
tags:
|
|
- shared-small
|
|
artifacts:
|
|
paths:
|
|
- coverage*
|
|
- coverage/**
|
|
when: "always"
|
|
reports:
|
|
coverage_report:
|
|
coverage_format: cobertura
|
|
path: coverage.xml
|
|
|
|
test-e2e-ui:
|
|
stage: test
|
|
extends:
|
|
- .rules-branch-manual-scheduled-and-test-branch-always
|
|
tags:
|
|
- inbox-virt-windows-ui-v1
|
|
variables:
|
|
REQUIRES_GRAPHICAL_CONSOLE: true
|
|
before_script:
|
|
- echo "Downloading dotnet dependencies"
|
|
- cd ./tests/e2e/ui_tests/windows_os/
|
|
- dotnet restore ./ProtonMailBridge.UI.Tests.csproj
|
|
- dotnet list package
|
|
script:
|
|
- pwsh $CI_PROJECT_DIR/tests/e2e/ui_tests/windows_os/InstallerScripts/Get-BridgeInstaller.ps1
|
|
- no_grpc_proxy=127.0.0.1 dotnet test ./ProtonMailBridge.UI.Tests.csproj -- NUnit.Where="cat != TemporarilyExcluded"
|
|
|
|
after_script:
|
|
- cp /c/users/gitlab-runner/AppData/Roaming/protonmail/bridge-v3/logs/* $CI_PROJECT_DIR/tests/e2e/ui_tests/windows_os/Results/artifacts/Logs/
|
|
- pwsh $CI_PROJECT_DIR/tests/e2e/ui_tests/windows_os/InstallerScripts/Remove-Bridge.ps1
|
|
|
|
artifacts:
|
|
paths:
|
|
- tests/e2e/ui_tests/windows_os/Results/artifacts/*
|
|
when: always
|
|
|
|
go-vuln-check:
|
|
extends:
|
|
- .image-linux-test
|
|
- .rules-branch-manual-MR-and-devel-always
|
|
stage: test
|
|
tags:
|
|
- shared-medium
|
|
script:
|
|
- ./utils/govulncheck.sh
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- vulns*
|