Skip to content

PR EXTERNAL 2

PR EXTERNAL 2 #34

Workflow file for this run

name: dsm
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
workflow_dispatch:
pull_request_target:
types:
- opened
- synchronize
- reopened
- ready_for_review
paths:
- "centreon-dsm/**"
- "!centreon-dsm/veracode.json"
- "!centreon-dsm/.veracode-exclusions"
push:
branches:
- develop
- dev-[2-9][0-9].[0-9][0-9].x
- master
- "[2-9][0-9].[0-9][0-9].x"
paths:
- "centreon-dsm/**"
- "!centreon-dsm/veracode.json"
- "!centreon-dsm/.veracode-exclusions"
env:
module: dsm
jobs:
validation:
runs-on: ubuntu-22.04
steps:
- name: Validate potential external contributions
id: validate
run: |
ENVIRONMENT_PULL_REQUEST="external_contributor"
if [[ "${{ github.event_name }}" == 'pull_request_target' ]] && [[
"${{ github.event.pull_request.author_association }}" == "MEMBER" ||
"${{ github.event.pull_request.author_association }}" == "CONTRIBUTOR" ||
"${{ github.event.pull_request.author_association }}" == "OWNER" ]]; then
ENVIRONMENT_PULL_REQUEST="internal_contributor"
fi
echo "environment_pull_request=$ENVIRONMENT_PULL_REQUEST" >> $GITHUB_OUTPUT
shell: bash
outputs:
environment_pull_request: ${{ steps.validate.outputs.environment_pull_request }}
get-version:
uses: ./.github/workflows/get-version.yml
needs: [validation]
with:
version_file: centreon-dsm/www/modules/centreon-dsm/conf.php
environment_pull_request: ${{ needs.validation.outputs.environment_pull_request }}
veracode-analysis:
needs: [get-version]
uses: ./.github/workflows/veracode-analysis.yml
with:
module_directory: centreon-dsm
module_name: centreon-dsm
major_version: ${{ needs.get-version.outputs.major_version }}
minor_version: ${{ needs.get-version.outputs.minor_version }}
stability: ${{ needs.get-version.outputs.stability }}
secrets:
veracode_api_id: ${{ secrets.VERACODE_API_ID }}
veracode_api_key: ${{ secrets.VERACODE_API_KEY }}
veracode_srcclr_token: ${{ secrets.VERACODE_SRCCLR_TOKEN }}
jira_base_url: ${{ secrets.JIRA_BASE_URL }}
jira_user_email: ${{ secrets.XRAY_JIRA_USER_EMAIL }}
jira_api_token: ${{ secrets.XRAY_JIRA_TOKEN }}
backend-lint:
runs-on: ubuntu-22.04
needs: [get-version]
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Setup PHP
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: 8.1
coverage: none
env:
runner: ubuntu-22.04
- name: Install Dependencies
run: composer install --optimize-autoloader
working-directory: centreon-dsm
shell: bash
- name: Run of phpstan on /www at level 0
run: vendor/bin/phpstan analyse --no-progress --level=0 --configuration=phpstan.neon
working-directory: centreon-dsm
# package:
# needs: [get-version, backend-lint]
# if: ${{ needs.get-version.outputs.stability != 'stable' }}
# strategy:
# fail-fast: true
# matrix:
# distrib: [el8, el9, bullseye, bookworm]
# include:
# - package_extension: rpm
# image: packaging-nfpm-alma8
# distrib: el8
# - package_extension: rpm
# image: packaging-nfpm-alma9
# distrib: el9
# - package_extension: deb
# image: packaging-nfpm-bullseye
# distrib: bullseye
# - package_extension: deb
# image: packaging-nfpm-bookworm
# distrib: bookworm
# - package_extension: deb
# image: packaging-nfpm-jammy
# distrib: jammy
# runs-on: ubuntu-22.04
# container:
# image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:${{ needs.get-version.outputs.major_version }}
# credentials:
# username: ${{ secrets.DOCKER_REGISTRY_ID }}
# password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
# name: package ${{ matrix.distrib }}
# steps:
# - name: Checkout sources
# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# - name: Change macro
# run: |
# find ./centreon-dsm -type f | xargs sed -i -f ./centreon-dsm/packaging/src/centreon-macroreplacement.txt
# shell: bash
# - name: Package
# uses: ./.github/actions/package-nfpm
# with:
# nfpm_file_pattern: "centreon-dsm/packaging/*.yaml"
# distrib: ${{ matrix.distrib }}
# package_extension: ${{ matrix.package_extension }}
# major_version: ${{ needs.get-version.outputs.major_version }}
# minor_version: ${{ needs.get-version.outputs.minor_version }}
# release: ${{ needs.get-version.outputs.release }}
# arch: all
# commit_hash: ${{ github.sha }}
# cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
# 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 }}
# stability: ${{ needs.get-version.outputs.stability }}
# deliver-sources:
# runs-on: [self-hosted, common]
# needs: [get-version, package]
# if: ${{ contains(fromJson('["stable"]'), needs.get-version.outputs.stability) && github.event_name != 'workflow_dispatch'}}
# steps:
# - name: Checkout sources
# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# - name: Deliver sources
# uses: ./.github/actions/release-sources
# with:
# bucket_directory: centreon-dsm
# module_directory: centreon-dsm
# module_name: centreon-dsm
# major_version: ${{ needs.get-version.outputs.major_version }}
# minor_version: ${{ needs.get-version.outputs.minor_version }}
# token_download_centreon_com: ${{ secrets.TOKEN_DOWNLOAD_CENTREON_COM }}
# delivery-rpm:
# needs: [get-version, package]
# if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-version.outputs.stability) }}
# runs-on: [self-hosted, common]
# environment: ${{ needs.get-version.outputs.environment }}
# strategy:
# matrix:
# distrib: [el8, el9]
# steps:
# - name: Checkout sources
# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# - name: Delivery
# uses: ./.github/actions/rpm-delivery
# with:
# module_name: dsm
# distrib: ${{ matrix.distrib }}
# version: ${{ needs.get-version.outputs.major_version }}
# artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
# cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
# stability: ${{ needs.get-version.outputs.stability }}
# release_type: ${{ needs.get-version.outputs.release_type }}
# release_cloud: ${{ needs.get-version.outputs.release_cloud }}
# deliver-deb:
# needs: [get-version, package]
# if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-version.outputs.stability) }}
# runs-on: [self-hosted, common]
# environment: ${{ needs.get-version.outputs.environment }}
# strategy:
# matrix:
# distrib: [bullseye, bookworm, jammy]
# steps:
# - name: Checkout sources
# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# - name: Delivery
# uses: ./.github/actions/deb-delivery
# with:
# module_name: dsm
# distrib: ${{ matrix.distrib }}
# version: ${{ needs.get-version.outputs.major_version }}
# artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
# cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
# stability: ${{ needs.get-version.outputs.stability }}
# release_type: ${{ needs.get-version.outputs.release_type }}
# release_cloud: ${{ needs.get-version.outputs.release_cloud }}
# promote:
# needs: [get-version]
# if: ${{ contains(fromJson('["stable"]'), needs.get-version.outputs.stability) && github.event_name != 'workflow_dispatch' }}
# runs-on: [self-hosted, common]
# strategy:
# matrix:
# distrib: [el8, el9, bullseye, bookworm]
# steps:
# - name: Checkout sources
# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# - name: Promote ${{ matrix.distrib }} to stable
# uses: ./.github/actions/promote-to-stable
# with:
# artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
# module: dsm
# distrib: ${{ matrix.distrib }}
# major_version: ${{ needs.get-version.outputs.major_version }}
# minor_version: ${{ needs.get-version.outputs.minor_version }}
# stability: ${{ needs.get-version.outputs.stability }}
# github_ref_name: ${{ github.ref_name }}
# release_type: ${{ needs.get-version.outputs.release_type }}
# release_cloud: ${{ needs.get-version.outputs.release_cloud }}