-
Notifications
You must be signed in to change notification settings - Fork 6
148 lines (121 loc) · 4.88 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
name: Centreon Monitoring Agent Windows robot test
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
workflow_dispatch:
jobs:
get-version:
uses: ./.github/workflows/get-version.yml
with:
version_file: CMakeLists.txt
build-collect:
needs: [get-version]
runs-on: [self-hosted, collect]
env:
SCCACHE_PATH: "/usr/bin/sccache"
SCCACHE_BUCKET: "centreon-github-sccache"
SCCACHE_REGION: "eu-west-1"
AWS_ACCESS_KEY_ID: ${{ secrets.COLLECT_S3_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.COLLECT_S3_SECRET_KEY }}
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/centreon-collect-debian-bullseye:${{ needs.get-version.outputs.img_version }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
steps:
- name: Checkout sources
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: compile and package collect
uses: ./.github/actions/compile-package
with:
major_version: ${{ needs.get-version.outputs.major_version }}
minor_version: ${{ needs.get-version.outputs.minor_version }}
distrib: bullseye
package_extension: deb
arch: amd64
release: ${{ needs.get-version.outputs.release }}
commit_hash: ${{ github.sha }}
stability: ${{ needs.get-version.outputs.stability }}
rpm_gpg_key: ${{ secrets.RPM_GPG_SIGNING_KEY }}
rpm_gpg_signing_key_id: ${{ secrets.RPM_GPG_SIGNING_KEY_ID }}
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
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
- name: collect binaries
run: wsl ls -l /usr/sbin/cbd /usr/sbin/centengine /usr/lib64/centreon-engine/ /usr/share/centreon/lib/centreon-broker