Send data about the default branch to DataDog. #364
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: Send data about the default branch to DataDog. | |
on: | |
schedule: | |
- cron: '45 3 * * *' | |
workflow_dispatch: | |
jobs: | |
custom_metrics: | |
name: Custom Metrics | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- uses: ./.github/actions/post-checkout | |
- name: Find occurrences of "Implements hook" in *.module files. | |
id: hook_implementations | |
run: | | |
output=$(grep -rHino 'Implements hook[^\s]*' ./docroot/modules/custom/**/*.module) | |
count=$(printf "%s" "${output}" | wc -l) | |
echo "${output}" | |
echo "count=${count}" >> $GITHUB_OUTPUT | |
- name: Record .module file line counts. | |
id: module_file_line_counts | |
run: | | |
output=$(find ./docroot/modules/custom/ -name '*.module' -exec wc -l {} \; | sort -k 2) | |
raw_metrics_output="" | |
repository="${GITHUB_REPOSITORY}" | |
while IFS= read -r line; do | |
lines="$(echo "${line}" | awk '{ print $1; }')" | |
filepath="$(printf "%s" "${line}" | awk '{ print $2; }')" | |
filename="$(basename "${filepath}" .module)" | |
echo "${filename}=${lines}" >> $GITHUB_OUTPUT | |
# `read` normally stops at a newline. Since we'll be reading a multiline "chunk", we | |
# want to skip newlines, so we use `-d ''`. That means `read` will stop when it hits | |
# the EOF. But in that case, it'll exit with a status code of 1. GitHub has `set -e` | |
# prepended to scripts, so this will cause the script to fail if we don't ensure a | |
# success exit code for the command. | |
# | |
read -r -d '' raw_metrics_output2 <<-EOF || true | |
- type: "gauge" | |
name: "cms.qa.custom_metrics.module_file_line_counts.${filename}" | |
value: ${lines} | |
host: "${repository}" | |
EOF | |
raw_metrics_output="${raw_metrics_output} | |
${raw_metrics_output2}" | |
done <<< "${output}" | |
# Set raw output, finally. | |
echo 'raw_config<<EOF' >> $GITHUB_OUTPUT | |
echo "${raw_metrics_output}" >> $GITHUB_OUTPUT | |
echo 'EOF' >> $GITHUB_OUTPUT | |
env: | |
GITHUB_REPOSITORY: "${{ github.repository }}" | |
- name: Send Metrics to DataDog. | |
uses: masci/datadog@68f124e429317cc02e17965df6d08c75056cb45d # v1.6.0 | |
with: | |
api-key: ${{ secrets.DATADOG_API_KEY }} | |
api-url: https://api.ddog-gov.com | |
metrics: | | |
# Magic comment. Remove this and metrics will break. | |
${{ steps.module_file_line_counts.outputs.raw_config }} | |
- type: "gauge" | |
name: "cms.qa.custom_metrics.hook_implementations" | |
value: ${{ steps.hook_implementations.outputs.count }} | |
host: "${{ github.repository }}" | |
phpunit_code_coverage: | |
name: PHPUnit Code Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- uses: ./.github/actions/post-checkout | |
- name: Run PHPUnit (Unit Tests only) | |
run: bin/phpunit \ | |
--group unit \ | |
--exclude-group disabled \ | |
--coverage-text=./coverage.txt \ | |
tests/phpunit | |
- name: Parse coverage file for metrics | |
id: code_coverage_metrics | |
run: | | |
# Class Coverage Metrics | |
classes="$(cat coverage.txt | grep 'Summary:' -A 3 | grep 'Classes')"; | |
# Given a string like this: | |
# | |
# Classes: 3.88% (8/206) | |
# | |
# Regex matches: | |
# \d+ digit(s) | |
# \.? with an optional decimal separator | |
# \d+ digit(s) | |
# (?=%) followed by (but don't include) percent sign | |
# | |
classes_percentage="$(echo "${classes}" | grep -oP '\d+\.?\d+(?=%)')"; | |
# Regex matches: | |
# (?<=\() preceded by (but don't include) open parenthesis | |
# \d+ digit(s) | |
# (?=\/) followed by (but don't include) forward slash | |
# | |
classes_numerator="$(echo "${classes}" | grep -oP '(?<=\()\d+(?=\/)')"; | |
# Regex matches: | |
# (?<=\/) preceded by (but don't include) forward slash | |
# \d+ digit(s) | |
# (?=\)) followed by (but don't include) closing parenthesis | |
# | |
classes_denominator="$(echo "${classes}" | grep -oP '(?<=\/)\d+(?=\))')"; | |
# Set the outputs. | |
echo "classes_percentage=${classes_percentage}" >> $GITHUB_OUTPUT; | |
echo "classes_numerator=${classes_numerator}" >> $GITHUB_OUTPUT; | |
echo "classes_denominator=${classes_denominator}" >> $GITHUB_OUTPUT; | |
# Method Coverage Metrics | |
methods="$(cat coverage.txt | grep 'Summary:' -A 3 | grep 'Methods')"; | |
methods_percentage="$(echo "${methods}" | grep -oP '\d+\.?\d+(?=%)')"; | |
methods_numerator="$(echo "${methods}" | grep -oP '(?<=\()\d+(?=\/)')"; | |
methods_denominator="$(echo "${methods}" | grep -oP '(?<=\/)\d+(?=\))')"; | |
echo "methods_percentage=${methods_percentage}" >> $GITHUB_OUTPUT; | |
echo "methods_numerator=${methods_numerator}" >> $GITHUB_OUTPUT; | |
echo "methods_denominator=${methods_denominator}" >> $GITHUB_OUTPUT; | |
# Line Coverage Metrics | |
lines="$(cat coverage.txt | grep 'Summary:' -A 3 | grep 'Lines')"; | |
lines_percentage="$(echo "${lines}" | grep -oP '\d+\.?\d+(?=%)')"; | |
lines_numerator="$(echo "${lines}" | grep -oP '(?<=\()\d+(?=\/)')"; | |
lines_denominator="$(echo "${lines}" | grep -oP '(?<=\/)\d+(?=\))')"; | |
echo "lines_percentage=${lines_percentage}" >> $GITHUB_OUTPUT; | |
echo "lines_numerator=${lines_numerator}" >> $GITHUB_OUTPUT; | |
echo "lines_denominator=${lines_denominator}" >> $GITHUB_OUTPUT; | |
# Class Coverage Metrics | |
echo "Classes Percentage: ${classes_percentage}"; | |
echo "Classes Numerator: ${classes_numerator}"; | |
echo "Classes Denominator: ${classes_denominator}"; | |
echo "Methods Percentage: ${methods_percentage}"; | |
echo "Methods Numerator: ${methods_numerator}"; | |
echo "Methods Denominator: ${methods_denominator}"; | |
echo "Lines Percentage: ${lines_percentage}"; | |
echo "Lines Numerator: ${lines_numerator}"; | |
echo "Lines Denominator: ${lines_denominator}"; | |
- name: Send Metrics to DataDog. | |
uses: masci/datadog@68f124e429317cc02e17965df6d08c75056cb45d # v1.6.0 | |
with: | |
api-key: ${{ secrets.DATADOG_API_KEY }} | |
api-url: https://api.ddog-gov.com | |
metrics: | | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.classes_percentage" | |
value: ${{ steps.code_coverage_metrics.outputs.classes_percentage }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.classes_numerator" | |
value: ${{ steps.code_coverage_metrics.outputs.classes_numerator }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.classes_denominator" | |
value: ${{ steps.code_coverage_metrics.outputs.classes_denominator }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.methods_percentage" | |
value: ${{ steps.code_coverage_metrics.outputs.methods_percentage }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.methods_numerator" | |
value: ${{ steps.code_coverage_metrics.outputs.methods_numerator }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.methods_denominator" | |
value: ${{ steps.code_coverage_metrics.outputs.methods_denominator }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.lines_percentage" | |
value: ${{ steps.code_coverage_metrics.outputs.lines_percentage }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.lines_numerator" | |
value: ${{ steps.code_coverage_metrics.outputs.lines_numerator }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phpunit_code_coverage.lines_denominator" | |
value: ${{ steps.code_coverage_metrics.outputs.lines_denominator }} | |
host: "${{ github.repository }}" | |
phploc: | |
name: PHPLOC Analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- uses: ./.github/actions/post-checkout | |
- name: Run PHPLOC and parse output for metrics. | |
id: phploc_code_quality | |
run: | | |
output=$(php phploc.phar --suffix .php --suffix .inc --suffix .module docroot/modules/custom/ --log-json phploc.json) | |
# Size metrics. | |
echo "directory_count=$(jq '.directories' phploc.json)" >> $GITHUB_OUTPUT | |
echo "file_count=$(jq '.files' phploc.json)" >> $GITHUB_OUTPUT | |
echo "all_lines_of_code=$(jq '.loc' phploc.json)" >> $GITHUB_OUTPUT | |
echo "comment_lines_of_code=$(jq '.cloc' phploc.json)" >> $GITHUB_OUTPUT | |
echo "noncomment_lines_of_code=$(jq '.ncloc' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code=$(jq '.lloc' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes=$(jq '.llocClasses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_average_class_length=$(jq '.classLlocAvg' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_minimum_class_length=$(jq '.classLlocMin' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_maximum_class_length=$(jq '.classLlocMax' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_average_method_length=$(jq '.methodLlocAvg' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_minimum_method_length=$(jq '.methodLlocMin' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_maximum_method_length=$(jq '.methodLlocMax' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_average_methods_per_class=$(jq '.averageMethodsPerClass' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_minimum_methods_per_class=$(jq '.minimumMethodsPerClass' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_classes_maximum_methods_per_class=$(jq '.maximumMethodsPerClass' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_functions=$(jq '.llocFunctions' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_functions_average_function_length=$(jq '.llocByNof' phploc.json)" >> $GITHUB_OUTPUT | |
echo "logical_lines_of_code_not_in_classes_or_functions=$(jq '.llocGlobal' phploc.json)" >> $GITHUB_OUTPUT | |
# Cyclomatic complexity. | |
echo "average_complexity_per_lloc=$(jq '.ccnByLloc' phploc.json)" >> $GITHUB_OUTPUT | |
echo "average_complexity_per_class=$(jq '.classCcnAvg' phploc.json)" >> $GITHUB_OUTPUT | |
echo "minimum_complexity_per_class=$(jq '.classCcnMin' phploc.json)" >> $GITHUB_OUTPUT | |
echo "maximum_complexity_per_class=$(jq '.classCcnMax' phploc.json)" >> $GITHUB_OUTPUT | |
echo "average_complexity_per_method=$(jq '.methodCcnAvg' phploc.json)" >> $GITHUB_OUTPUT | |
echo "minimum_complexity_per_method=$(jq '.methodCcnMin' phploc.json)" >> $GITHUB_OUTPUT | |
echo "maximum_complexity_per_method=$(jq '.methodCcnMax' phploc.json)" >> $GITHUB_OUTPUT | |
# Dependencies. | |
echo "global_accesses=$(jq '.globalAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "global_constant_accesses=$(jq '.globalConstantAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "global_variable_accesses=$(jq '.globalVariableAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "super_global_variables=$(jq '.superGlobalVariableAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "attribute_accesses=$(jq '.attributeAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "instance_attribute_accesses=$(jq '.instanceAttributeAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "static_attribute_accesses=$(jq '.staticAttributeAccesses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "method_calls=$(jq '.methodCalls' phploc.json)" >> $GITHUB_OUTPUT | |
echo "instance_method_calls=$(jq '.instanceMethodCalls' phploc.json)" >> $GITHUB_OUTPUT | |
echo "static_method_calls=$(jq '.staticMethodCalls' phploc.json)" >> $GITHUB_OUTPUT | |
# Structure | |
echo "namespaces=$(jq '.namespaces' phploc.json)" >> $GITHUB_OUTPUT | |
echo "interfaces=$(jq '.interfaces' phploc.json)" >> $GITHUB_OUTPUT | |
echo "traits=$(jq '.traits' phploc.json)" >> $GITHUB_OUTPUT | |
echo "classes=$(jq '.classes' phploc.json)" >> $GITHUB_OUTPUT | |
echo "abstract_classes=$(jq '.abstractClasses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "concrete_classes=$(jq '.concreteClasses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "final_classes=$(jq '.finalClasses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "nonfinal_classes=$(jq '.nonFinalClasses' phploc.json)" >> $GITHUB_OUTPUT | |
echo "methods=$(jq '.methods' phploc.json)" >> $GITHUB_OUTPUT | |
echo "nonstatic_methods=$(jq '.nonStaticMethods' phploc.json)" >> $GITHUB_OUTPUT | |
echo "static_methods=$(jq '.staticMethods' phploc.json)" >> $GITHUB_OUTPUT | |
echo "public_methods=$(jq '.publicMethods' phploc.json)" >> $GITHUB_OUTPUT | |
echo "protected_methods=$(jq '.protectedMethods' phploc.json)" >> $GITHUB_OUTPUT | |
echo "private_methods=$(jq '.privateMethods' phploc.json)" >> $GITHUB_OUTPUT | |
echo "functions=$(jq '.functions' phploc.json)" >> $GITHUB_OUTPUT | |
echo "named_functions=$(jq '.namedFunctions' phploc.json)" >> $GITHUB_OUTPUT | |
echo "anonymous_functions=$(jq '.anonymousFunctions' phploc.json)" >> $GITHUB_OUTPUT | |
echo "constants=$(jq '.constants' phploc.json)" >> $GITHUB_OUTPUT | |
echo "global_constants=$(jq '.globalConstants' phploc.json)" >> $GITHUB_OUTPUT | |
echo "class_constants=$(jq '.classConstants' phploc.json)" >> $GITHUB_OUTPUT | |
echo "public_class_constants=$(jq '.publicClassConstants' phploc.json)" >> $GITHUB_OUTPUT | |
echo "nonpublic_class_constants=$(jq '.nonPublicClassConstants' phploc.json)" >> $GITHUB_OUTPUT | |
- name: Send Metrics to DataDog. | |
uses: masci/datadog@68f124e429317cc02e17965df6d08c75056cb45d # v1.6.0 | |
with: | |
api-key: ${{ secrets.DATADOG_API_KEY }} | |
api-url: https://api.ddog-gov.com | |
metrics: | | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.directory_count" | |
value: ${{ steps.phploc_code_quality.outputs.directory_count }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.file_count" | |
value: ${{ steps.phploc_code_quality.outputs.file_count }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.all_lines_of_code" | |
value: ${{ steps.phploc_code_quality.outputs.all_lines_of_code }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.comment_lines_of_code" | |
value: ${{ steps.phploc_code_quality.outputs.comment_lines_of_code }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.noncomment_lines_of_code" | |
value: ${{ steps.phploc_code_quality.outputs.noncomment_lines_of_code }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_average_class_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_average_class_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_minimum_class_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_minimum_class_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_maximum_class_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_maximum_class_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_average_method_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_average_method_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_minimum_method_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_minimum_method_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_maximum_method_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_maximum_method_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_average_methods_per_class" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_average_methods_per_class }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_minimum_methods_per_class" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_minimum_methods_per_class }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_classes_maximum_methods_per_class" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_classes_maximum_methods_per_class }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_functions" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_functions }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_functions_average_function_length" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_functions_average_function_length }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.logical_lines_of_code_not_in_classes_or_functions" | |
value: ${{ steps.phploc_code_quality.outputs.logical_lines_of_code_not_in_classes_or_functions }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.average_complexity_per_lloc" | |
value: ${{ steps.phploc_code_quality.outputs.average_complexity_per_lloc }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.average_complexity_per_class" | |
value: ${{ steps.phploc_code_quality.outputs.average_complexity_per_class }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.minimum_complexity_per_class" | |
value: ${{ steps.phploc_code_quality.outputs.minimum_complexity_per_class }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.maximum_complexity_per_class" | |
value: ${{ steps.phploc_code_quality.outputs.maximum_complexity_per_class }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.average_complexity_per_method" | |
value: ${{ steps.phploc_code_quality.outputs.average_complexity_per_method }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.minimum_complexity_per_method" | |
value: ${{ steps.phploc_code_quality.outputs.minimum_complexity_per_method }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.maximum_complexity_per_method" | |
value: ${{ steps.phploc_code_quality.outputs.maximum_complexity_per_method }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.global_accesses" | |
value: ${{ steps.phploc_code_quality.outputs.global_accesses }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.global_constant_accesses" | |
value: ${{ steps.phploc_code_quality.outputs.global_constant_accesses }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.global_variable_accesses" | |
value: ${{ steps.phploc_code_quality.outputs.global_variable_accesses }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.super_global_variables" | |
value: ${{ steps.phploc_code_quality.outputs.super_global_variables }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.attribute_accesses" | |
value: ${{ steps.phploc_code_quality.outputs.attribute_accesses }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.instance_attribute_accesses" | |
value: ${{ steps.phploc_code_quality.outputs.instance_attribute_accesses }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.static_attribute_accesses" | |
value: ${{ steps.phploc_code_quality.outputs.static_attribute_accesses }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.method_calls" | |
value: ${{ steps.phploc_code_quality.outputs.method_calls }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.instance_method_calls" | |
value: ${{ steps.phploc_code_quality.outputs.instance_method_calls }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.static_method_calls" | |
value: ${{ steps.phploc_code_quality.outputs.static_method_calls }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.namespaces" | |
value: ${{ steps.phploc_code_quality.outputs.namespaces }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.interfaces" | |
value: ${{ steps.phploc_code_quality.outputs.interfaces }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.traits" | |
value: ${{ steps.phploc_code_quality.outputs.traits }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.classes" | |
value: ${{ steps.phploc_code_quality.outputs.classes }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.abstract_classes" | |
value: ${{ steps.phploc_code_quality.outputs.abstract_classes }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.concrete_classes" | |
value: ${{ steps.phploc_code_quality.outputs.concrete_classes }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.final_classes" | |
value: ${{ steps.phploc_code_quality.outputs.final_classes }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.nonfinal_classes" | |
value: ${{ steps.phploc_code_quality.outputs.nonfinal_classes }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.methods" | |
value: ${{ steps.phploc_code_quality.outputs.methods }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.nonstatic_methods" | |
value: ${{ steps.phploc_code_quality.outputs.nonstatic_methods }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.static_methods" | |
value: ${{ steps.phploc_code_quality.outputs.static_methods }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.public_methods" | |
value: ${{ steps.phploc_code_quality.outputs.public_methods }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.protected_methods" | |
value: ${{ steps.phploc_code_quality.outputs.protected_methods }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.private_methods" | |
value: ${{ steps.phploc_code_quality.outputs.private_methods }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.functions" | |
value: ${{ steps.phploc_code_quality.outputs.functions }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.named_functions" | |
value: ${{ steps.phploc_code_quality.outputs.named_functions }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.anonymous_functions" | |
value: ${{ steps.phploc_code_quality.outputs.anonymous_functions }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.constants" | |
value: ${{ steps.phploc_code_quality.outputs.constants }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.global_constants" | |
value: ${{ steps.phploc_code_quality.outputs.global_constants }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.class_constants" | |
value: ${{ steps.phploc_code_quality.outputs.class_constants }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.public_class_constants" | |
value: ${{ steps.phploc_code_quality.outputs.public_class_constants }} | |
host: "${{ github.repository }}" | |
- type: "gauge" | |
name: "cms.qa.phploc_code_quality.nonpublic_class_constants" | |
value: ${{ steps.phploc_code_quality.outputs.nonpublic_class_constants }} | |
host: "${{ github.repository }}" | |