MON-150047 Centreon next 24.10 (Jira release #20136#) #400
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Centreon Monitoring Agent Windows build and packaging | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
on: | |
workflow_dispatch: | |
inputs: | |
installer_in_artifact: | |
description: 'Save installer and binary in artifacts' | |
required: true | |
default: false | |
type: boolean | |
pull_request: | |
paths: | |
- agent/** | |
- custom-triplets/** | |
- CMakeLists.txt | |
- CMakeListsWindows.txt | |
- vcpkg.json | |
push: | |
branches: | |
- develop | |
- dev-[2-9][0-9].[0-9][0-9].x | |
- master | |
- "[2-9][0-9].[0-9][0-9].x" | |
paths: | |
- agent/** | |
- custom-triplets/** | |
- CMakeLists.txt | |
- CMakeListsWindows.txt | |
- vcpkg.json | |
jobs: | |
get-version: | |
uses: ./.github/workflows/get-version.yml | |
with: | |
version_file: CMakeLists.txt | |
build-and-test-agent: | |
needs: [get-version] | |
runs-on: windows-latest | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.COLLECT_S3_ACCESS_KEY }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.COLLECT_S3_SECRET_KEY }} | |
steps: | |
- uses: jfrog/setup-jfrog-cli@26da2259ee7690e63b5410d7451b2938d08ce1f9 # v4.0.0 | |
env: | |
JF_URL: https://centreon.jfrog.io | |
JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }} | |
# in order to have the same checksum between windows-agent and windows-agent-robot-test | |
- name: No crlf conversion | |
run: git config --system core.autocrlf false | |
- name: Checkout sources | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Compile Agent | |
run: .github/scripts/windows-agent-compile.ps1 | |
shell: powershell | |
- name: Common test | |
run: | | |
cd build_windows | |
tests/ut_common | |
- name: Agent test | |
run: | | |
cd build_windows | |
tests/ut_agent | |
- name: Upload package artifacts | |
if: | | |
inputs.installer_in_artifact == true | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
with: | |
name: packages-centreon-monitoring-agent-windows | |
path: agent\installer\centreon-monitoring-agent.exe | |
- name: Deliver | |
if: | | |
contains(fromJson('["unstable", "testing"]'), needs.get-version.outputs.stability) && | |
! cancelled() && | |
! contains(needs.*.result, 'failure') && | |
! contains(needs.*.result, 'cancelled') | |
run: | | |
Write-Host "[DEBUG] deliver to testing - Major version: ${{ needs.get-version.outputs.major_version }}" | |
Write-Host "[DEBUG] deliver to testing - Minor version: ${{ needs.get-version.outputs.minor_version }}" | |
$VERSION = "${{ needs.get-version.outputs.version }}" | |
$MODULE_NAME = "monitoring-agent-$VERSION" | |
$STABILITY = "${{ needs.get-version.outputs.stability }}" | |
$TARGET_PATH = "installers/monitoring-agent/${{ needs.get-version.outputs.major_version }}/$STABILITY/$MODULE_NAME/" | |
$VERSION_EXE = "centreon-monitoring-agent-${VERSION}.exe" | |
Copy-Item -Path "agent\installer\centreon-monitoring-agent.exe" -Destination "${VERSION_EXE}" | |
Write-Host "[DEBUG] deliver testing to - Target path: ${TARGET_PATH}" | |
jf rt upload $VERSION_EXE "${TARGET_PATH}" --sync-deletes="${TARGET_PATH}" | |
- name: Promote testing to stable | |
if: | | |
needs.get-version.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch' && ! cancelled() | |
run: | | |
Write-Host "[DEBUG] promote to stable - Major version: ${{ needs.get-version.outputs.major_version }}" | |
Write-Host "[DEBUG] promote to stable - Minor version: ${{ needs.get-version.outputs.minor_version }}" | |
$VERSION= "${{ needs.get-version.outputs.version }}" | |
$MODULE_NAME= "monitoring-agent-${{ needs.get-version.outputs.version }}" | |
$STABILITY= "${{ needs.get-version.outputs.stability }}" | |
$SRC_PATH = "installers/monitoring-agent/${{ needs.get-version.outputs.major_version }}/testing/$MODULE_NAME/" | |
$TARGET_PATH = "installers/monitoring-agent/${{ needs.get-version.outputs.major_version }}/$STABILITY/$MODULE_NAME/" | |
$VERSION_EXE = "centreon-monitoring-agent-${VERSION}.exe" | |
Write-Host "[DEBUG] promote to stable from: ${SRC_PATH}${VERSION_EXE}" | |
jf rt download "${SRC_PATH}${VERSION_EXE}" --flat | |
Write-Host "[DEBUG] promote to stable ${VERSION_EXE} to path: ${TARGET_PATH}" | |
jf rt upload $VERSION_EXE "${TARGET_PATH}" --sync-deletes="${TARGET_PATH}" | |
shell: powershell |