Skip to content

nightly robot dev-24.04.x #4861

nightly robot dev-24.04.x

nightly robot dev-24.04.x #4861

Workflow file for this run

name: robot-nightly
run-name: nightly robot ${{ github.head_ref || github.ref_name }}
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: '30 0 * * *'
jobs:
dispatch-to-maintained-branches:
if: ${{ github.event_name == 'schedule' && github.ref_name == 'develop' }}
runs-on: ubuntu-22.04
steps:
- name: Checkout sources
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- run: |
gh workflow run robot-nightly.yml -r "dev-24.04.x"
gh workflow run robot-nightly.yml -r "dev-23.10.x"
gh workflow run robot-nightly.yml -r "dev-23.04.x"
gh workflow run robot-nightly.yml -r "dev-22.10.x"
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
get-version:
uses: ./.github/workflows/get-version.yml
with:
version_file: CMakeLists.txt
veracode-analysis:
needs: [get-version]
uses: ./.github/workflows/veracode-analysis.yml
with:
module_name: centreon-collect
major_version: ${{ needs.get-version.outputs.major_version }}
minor_version: ${{ needs.get-version.outputs.minor_version }}
img_version: ${{ needs.get-version.outputs.img_version }}
secrets:
veracode_api_id: ${{ secrets.VERACODE_API_ID_COLL }}
veracode_api_key: ${{ secrets.VERACODE_API_KEY_COLL }}
veracode_srcclr_token: ${{ secrets.VERACODE_SRCCLR_TOKEN }}
docker_registry_id: ${{ secrets.DOCKER_REGISTRY_ID }}
docker_registry_passwd: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
package:
needs: [get-version]
uses: ./.github/workflows/package-collect.yml
with:
stability: ${{ needs.get-version.outputs.stability }}
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 }}
secrets: inherit
robot-test:
needs: [get-version, package]
strategy:
fail-fast: false
matrix:
include:
- distrib: el9
image: centreon-collect-alma9-test
package_extension: rpm
arch: amd64
database_type: mariadb
test_group_name: robot_test-mariadb-el9-amd64
tests_params: '{}'
- distrib: el9
image: centreon-collect-mysql-alma9-test
package_extension: rpm
arch: amd64
database_type: mysql
test_group_name: robot_test-mysql-el9-amd64
tests_params: '{}'
- distrib: bullseye
image: centreon-collect-debian-bullseye-arm64-test
package_extension: deb
arch: arm64
database_type: mariadb
test_group_name: robot_test-mariadb-bullseye-arm64
tests_params: '{}'
- distrib: bookworm
image: centreon-collect-debian-bookworm-arm64-test
package_extension: deb
arch: arm64
database_type: mariadb
test_group_name: robot_test-mariadb-bookworm-arm64
tests_params: '{}'
- distrib: bookworm
image: centreon-collect-debian-bookworm-test
package_extension: deb
arch: amd64
database_type: mariadb
test_group_name: robot_test-mariadb-bookworm-amd64
tests_params: '{}'
- distrib: el9
image: centreon-collect-alma9-test
package_extension: rpm
arch: amd64
database_type: mariadb
test_group_name: robot_test-mariadb-el9-amd64-grpc
tests_params: '{"default_transport":"grpc","default_bbdo_version":"3.1.0"}'
name: ${{ matrix.test_group_name }}
uses: ./.github/workflows/robot-test.yml
with:
distrib: ${{ matrix.distrib }}
arch: ${{ matrix.arch }}
image: ${{ matrix.image }}
image_test: ${{ matrix.image }}:${{ needs.get-version.outputs.test_img_version }}
image_version: ${{ needs.get-version.outputs.img_version }}
package_cache_key: ${{ github.run_id }}-${{ github.sha }}-${{ matrix.package_extension }}-centreon-collect-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
package_cache_path: ./*.${{ matrix.package_extension}}
database_type: ${{ matrix.database_type }}
tests_params: ${{matrix.tests_params}}
test_group_name: ${{matrix.test_group_name}}
secrets:
registry_username: ${{ secrets.DOCKER_REGISTRY_ID }}
registry_password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
collect_s3_access_key: ${{ secrets.COLLECT_S3_ACCESS_KEY }}
collect_s3_secret_key: ${{ secrets.COLLECT_S3_SECRET_KEY }}
xray_client_id: ${{ secrets.XRAY_CLIENT_ID }}
xray_client_secret: ${{ secrets.XRAY_CLIENT_SECRET }}
deliver-rpm:
if: ${{ contains(fromJson('["unstable"]'), needs.get-version.outputs.stability) }}
needs: [robot-test, get-version]
runs-on: [self-hosted, common]
strategy:
matrix:
distrib: [el8, el9]
name: deliver ${{ matrix.distrib }}
steps:
- name: Checkout sources
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Publish RPM packages
uses: ./.github/actions/delivery
with:
module_name: collect
distrib: ${{ matrix.distrib }}
major_version: ${{ needs.get-version.outputs.major_version }}
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
cache_key: ${{ github.run_id }}-${{ github.sha }}-rpm-centreon-collect-${{ matrix.distrib }}-amd64-${{ github.head_ref || github.ref_name }}
stability: ${{ needs.get-version.outputs.stability }}
release_type: ${{ needs.get-version.outputs.release_type }}
release_cloud: ${{ needs.get-version.outputs.release_cloud }}
deliver-deb:
if: ${{ contains(fromJson('["unstable"]'), needs.get-version.outputs.stability) }}
needs: [robot-test, get-version]
runs-on: [self-hosted, common]
strategy:
matrix:
include:
- distrib: bullseye
arch: amd64
- distrib: bookworm
arch: amd64
- distrib: jammy
arch: amd64
- distrib: bullseye
arch: arm64
name: deliver ${{ matrix.distrib }}
steps:
- name: Checkout sources
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Publish DEB packages
uses: ./.github/actions/delivery
with:
module_name: collect
distrib: ${{ matrix.distrib }}
major_version: ${{ needs.get-version.outputs.major_version }}
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
cache_key: ${{ github.run_id }}-${{ github.sha }}-deb-centreon-collect-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
stability: ${{ needs.get-version.outputs.stability }}
release_type: ${{ needs.get-version.outputs.release_type }}
release_cloud: ${{ needs.get-version.outputs.release_cloud }}