-
Notifications
You must be signed in to change notification settings - Fork 4
/
windows.gitlab-ci.yml
98 lines (97 loc) · 4.55 KB
/
windows.gitlab-ci.yml
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
test_windows:
tags:
- windows
stage: test
variables:
SCOPE: daily
REPORT_DIR: result
TEST_DATA_DIR: 'D:\\testData'
DL_DIR: 'C:\\Users\\Public\\Documents'
SNAP_DIR: 'C:\\Users\\Public\\Documents\\snap'
TEMP_DIR: 'D:\\tmp'
TAG: master
PROPERTIES_PATH: win.conf
SNAP_INSTALLER: "snap_all_windows-%VERSION%.exe"
TEST_DATA_LIST: singleTestData.txt
JAVA_HOME: C:\\Program Files\\Zulu\\zulu-11
JAVA_OPTIONS: >-
-Dncsa.hdf.hdflib.HDFLibrary.hdflib=%SNAP_DIR%\\snap\\modules\\lib\\amd64\\jhdf.dll
-Dncsa.hdf.hdf5lib.H5.hdf5lib=%SNAP_DIR%\\snap\modules\\lib\amd64\\jhdf5.dll
-Dfile.encoding=Windows-1252
CLASSPATH: gpt-tests-executer\\target\\gpt-test-exec.jar
# output upload and download progress every 2 seconds
TRANSFER_METER_FREQUENCY: "2s"
# Use fast compression for artifacts, resulting in larger archives
ARTIFACT_COMPRESSION_LEVEL: "slowest"
cache: []
before_script:
- echo %USERNAME%
# build project
- call mvn %MAVEN_CLI_OPTS% package install
# Clean old report
- rd /s /q %REPORT_DIR%
- mkdir %REPORT_DIR% && mkdir %REPORT_DIR%\report && mkdir %REPORT_DIR%\report\output
- python -m venv snapenv && call .\snapenv\Scripts\activate.bat && pip3 install -r %CI_PROJECT_DIR%\requirements.txt
# Produce a list of tests to run
- python %CI_PROJECT_DIR%\pygpt\filter_json.py gpt-tests-resources\tests %SCOPE% %REPORT_DIR%
# Install snap
- curl --progress-bar "https://nexus.snap-ci.ovh/repository/snap-maven-releases/org/esa/snap/installers-snapshot/snap_all_windows/%VERSION%/snap_all_windows-%VERSION%.exe" >> "%DL_DIR%\%SNAP_INSTALLER%"
- echo "Install SNAP" && "%DL_DIR%\%SNAP_INSTALLER%" -q -dir "%SNAP_DIR%" -console -overwrite -v
- echo "Post install" && xcopy "%DL_DIR%\snap.properties" "%SNAP_DIR%\etc" /Y
script:
- run_tests.bat
after_script:
# Remove heavy images
- DEL /Q /F /S %REPORT_DIR%\report\output\*.zip
- DEL /Q /F /S %REPORT_DIR%\report\output\*.dim
- DEL /Q /F /S %TEMP%\*
artifacts:
when: always
expire_in: "1 hour"
paths:
- result
report:
stage: report
tags:
- windows
cache: []
rules:
- if: $PLATFORM == 'windows' && $SCOPE != 'CItest'
when: always
- when: never
variables:
REPORT_DIR: result
# output upload and download progress every 2 seconds
TRANSFER_METER_FREQUENCY: "2s"
# Use fast compression for artifacts, resulting in larger archives
ARTIFACT_COMPRESSION_LEVEL: "fast"
# Use no compression for caches
CACHE_COMPRESSION_LEVEL: "fastest"
# Set maximum duration of cache upload and download
CACHE_REQUEST_TIMEOUT: 5
DEST_DIR: public\windows
script:
- echo "Copy assets for report generation"
- mkdir %CI_PROJECT_DIR%\%REPORT_DIR%\report\json %CI_PROJECT_DIR%\%REPORT_DIR%\report\performances %CI_PROJECT_DIR%\%REPORT_DIR%\report\images
- xcopy /Y "%CI_PROJECT_DIR%\%REPORT_DIR%\report\output\json\*.json" "%CI_PROJECT_DIR%\%REPORT_DIR%\report\json\"
- xcopy /E /H /C /I "%CI_PROJECT_DIR%\%REPORT_DIR%\report\output\performances" "%CI_PROJECT_DIR%\%REPORT_DIR%\report\performances\"
- xcopy /Y "%CI_PROJECT_DIR%\%REPORT_DIR%\report\output\*.txt" "%CI_PROJECT_DIR%\%REPORT_DIR%\report\"
- rmdir /Y /S "%CI_PROJECT_DIR%\%REPORT_DIR%\report\output"
- mkdir %CI_PROJECT_DIR%\result\report\css %CI_PROJECT_DIR%\result\report\icons %CI_PROJECT_DIR%\result\report\js
- xcopy /Y "%CI_PROJECT_DIR%\pygpt\statics\css\*.css*" "%CI_PROJECT_DIR%\result\report\css\"
- xcopy /Y "%CI_PROJECT_DIR%\pygpt\statics\icons\*.jpg" "%CI_PROJECT_DIR%\result\report\icons\"
- xcopy /Y "%CI_PROJECT_DIR%\pygpt\statics\icons\*.png" "%CI_PROJECT_DIR%\result\report\icons\"
- xcopy /Y "%CI_PROJECT_DIR%\pygpt\statics\js\*.js" "%CI_PROJECT_DIR%\result\report\js\"
- echo "Generate report"
- python pygpt\report_utils.py pygpt\templates %CI_PROJECT_DIR%\%REPORT_DIR%\report %SCOPE% snap:master
- rd /s /q %CI_PROJECT_DIR%\%DEST_DIR%
- mkdir %CI_PROJECT_DIR%\public %CI_PROJECT_DIR%\%DEST_DIR%
# Upload report to s3
- '"C:\Program Files\Amazon\AWSCLIV2\aws.exe" s3 rm "s3://%S3_REPORTS%/windows" --recursive --endpoint-url https://s3.sbg.io.cloud.ovh.net --region sbg"'
- '"C:\Program Files\Amazon\AWSCLIV2\aws.exe" s3 sync %CI_PROJECT_DIR%\%REPORT_DIR%\report "s3://%S3_REPORTS%/windows" --endpoint-url https://s3.sbg.io.cloud.ovh.net --region sbg --acl public-read'
after_script:
- '%CI_PROJECT_DIR%\update_database.bat'
artifacts:
expire_in: 1 day
paths:
- '%CI_PROJECT_DIR%\%REPORT_DIR%\report'