-
Notifications
You must be signed in to change notification settings - Fork 6
130 lines (108 loc) · 4.01 KB
/
windows-agent-robot-test.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Centreon Monitoring Agent Windows robot test
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: '30 0 * * *'
jobs:
get-version:
uses: ./.github/workflows/get-version.yml
with:
version_file: CMakeLists.txt
build-collect:
needs: [get-version]
uses: ./.github/workflows/package-collect.yml
with:
major_version: ${{ needs.get-version.outputs.major_version }}
minor_version: ${{ needs.get-version.outputs.minor_version }}
img_version: ${{ needs.get-version.outputs.img_version }}
release: ${{ needs.get-version.outputs.release }}
commit_hash: ${{ github.sha }}
stability: ${{ needs.get-version.outputs.stability }}
legacy_engine: false
packages_in_artifact: false
image: centreon-collect-debian-bullseye
distrib: bullseye
package_extension: deb
runner: collect
arch: amd64
secrets: inherit
build-agent-and-execute-test:
needs: [build-collect]
runs-on: windows-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.COLLECT_S3_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.COLLECT_S3_SECRET_KEY }}
steps:
- name: nocrlf conversion
run: git config --system core.autocrlf false
- name: Checkout sources
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: distrib availables
run: wsl --list --online
- name: install debian
uses: Vampire/setup-wsl@v3
with:
distribution: Debian
use-cache: 'true'
update: 'true'
additional-packages:
mariadb-server
libmariadb3
librrd8
liblua5.3
python3
python3-pip
rrdtool
- name: IP info
run: |
Write-Host "ip config"
ipconfig /all
Write-Host "ip address show"
wsl ip address show
- name: install robot framework
run: |
wsl pip3 install -U robotframework robotframework-databaselibrary robotframework-examples
wsl pip3 install pymysql python-dateutil grpcio grpcio_tools psutil
- name: Compile Agent
run: .github/scripts/windows-agent-compile.ps1
shell: powershell
- name: install database
run: |
$current_dir = (pwd).Path
$wsl_path = "/mnt/" + $current_dir.SubString(0,1).ToLower() + "/" + $current_dir.SubString(3).replace('\','/')
Write-Host "install mariadb"
wsl cd $wsl_path `&`& .github/scripts/collect-setup-database.sh
- name: Restore packages
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ./*.deb
key: ${{ github.run_id }}-${{ github.sha }}-deb-centreon-collect-bullseye-amd64-${{ github.head_ref || github.ref_name }}
fail-on-cache-miss: true
enableCrossOsArchive: true
- name: list packages
run: |
$current_dir = (pwd).Path
$wsl_path = "/mnt/" + $current_dir.SubString(0,1).ToLower() + "/" + $current_dir.SubString(3).replace('\','/')
wsl ls -l $wsl_path
- name: install collect packages
run: |
$current_dir = (pwd).Path
$wsl_path = "/mnt/" + $current_dir.SubString(0,1).ToLower() + "/" + $current_dir.SubString(3).replace('\','/')
wsl cd $wsl_path `&`& dpkg -i --force-all ./*.deb
- name: prepare robot tests
run: |
copy tests\resources\engine-scripts\echo.ps1 C:\Users\public\
copy tests\resources\engine-scripts\check.ps1 C:\Users\public\
- name: robot tests
run: .github/scripts/agent_robot_test.ps1
shell: powershell
- name: Upload Test Results
if: ${{ failure() }}
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: reports-cma-windows
path: reports
retention-days: 1