PR EXTERNAL 2 #34
Workflow file for this run
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: 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 }} |