Skip to content

Centreon Monitoring Agent Windows robot test #84

Centreon Monitoring Agent Windows robot test

Centreon Monitoring Agent Windows robot test #84

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-script\echo.ps1 C:\Users\public\
- name: robot tests
run: .github/scripts/agent_robot_test.ps1
shell: powershell
- name: collect binaries
run: wsl ls -l /usr/sbin/cbd /usr/sbin/centengine /usr/lib64/centreon-engine/ /usr/share/centreon/lib/centreon-broker