mirror of
https://github.com/Cacti/cacti.git
synced 2026-10-31 09:07:38 +09:00
Bumps the github-actions group with 4 updates: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action), [jdx/mise-action](https://github.com/jdx/mise-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action). Updates `github/codeql-action/init` from 4.38.3 to 4.39.0 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee) Updates `github/codeql-action/analyze` from 4.38.3 to 4.39.0 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee) Updates `jdx/mise-action` from 5.1.1 to 5.2.0 - [Release notes](https://github.com/jdx/mise-action/releases) - [Changelog](https://github.com/jdx/mise-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/jdx/mise-action/compare/2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca...9b200bcecbfd6303e69a4a261b2e09e3757440a7) Updates `github/codeql-action/upload-sarif` from 4.38.3 to 4.39.0 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee) --- updated-dependencies: - dependency-name: github/codeql-action/init dependency-version: 4.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: jdx/mise-action dependency-version: 5.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
88 lines
3.4 KiB
YAML
88 lines
3.4 KiB
YAML
name: Changed PHP Coverage
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- '**.php'
|
|
- 'tests/phpunit.xml'
|
|
- 'tests/e2e/**'
|
|
- 'tests/Helpers/RequestCoverage.php'
|
|
- 'tests/tools/check_changed_php_coverage.py'
|
|
- 'tests/tools/test_check_changed_php_coverage.py'
|
|
- 'tests/tools/run_request_coverage.sh'
|
|
- 'tests/tools/test_request_coverage_dispatch.py'
|
|
- '.github/workflows/pr-php-coverage.yml'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: changed-php-coverage-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
coverage:
|
|
name: Changed PHP lines >= 80%
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
- uses: jdx/mise-action@9b200bcecbfd6303e69a4a261b2e09e3757440a7 # v5.2.0
|
|
with:
|
|
tool_versions: node 22.22.2
|
|
install_args: node
|
|
- uses: ./.github/actions/setup-php-composer
|
|
with:
|
|
php-version: '8.3'
|
|
coverage: xdebug
|
|
extensions: intl, mysql, gd, ldap, gmp, xml, curl, json, mbstring
|
|
ini-values: memory_limit=2G
|
|
dependency-mode: locked-pr-coverage
|
|
install-args: --prefer-dist --no-progress --no-interaction
|
|
- name: Validate the coverage gate and include every changed PHP file
|
|
env:
|
|
BASE_COMMIT: ${{ github.event.pull_request.base.sha }}
|
|
run: |
|
|
set -euo pipefail
|
|
python3 tests/tools/test_check_changed_php_coverage.py
|
|
python3 tests/tools/test_request_coverage_dispatch.py
|
|
python3 tests/tools/check_changed_php_coverage.py --base "$BASE_COMMIT" \
|
|
--prepare-config tests/phpunit.xml --output-config phpunit-changed.xml
|
|
- name: Exercise unit and integration contracts with statement coverage
|
|
env:
|
|
XDEBUG_MODE: coverage
|
|
run: include/vendor/bin/pest --configuration=phpunit-changed.xml --testsuite=Unit,Integration --coverage-clover=coverage-changed.xml
|
|
- name: Exercise applicable browser and database contracts
|
|
env:
|
|
BASE_COMMIT: ${{ github.event.pull_request.base.sha }}
|
|
CACTI_TEST_COVERAGE: '1'
|
|
CACTI_PR_RAW_COVERAGE: /tmp/cacti-pr-coverage
|
|
CACTI_PR_COVERAGE_OUTPUT: ${{ runner.temp }}/request-coverage
|
|
run: bash tests/tools/run_request_coverage.sh
|
|
- name: Require at least 80 percent of changed executable PHP lines
|
|
env:
|
|
BASE_COMMIT: ${{ github.event.pull_request.base.sha }}
|
|
run: |
|
|
set -euo pipefail
|
|
request_args=()
|
|
if compgen -G "${{ runner.temp }}/request-coverage/*.json" > /dev/null; then
|
|
request_args=(--request-reports "${{ runner.temp }}/request-coverage")
|
|
fi
|
|
python3 tests/tools/check_changed_php_coverage.py --base "$BASE_COMMIT" \
|
|
--report coverage-changed.xml "${request_args[@]}" \
|
|
--minimum 80 --json-output coverage-changed.json
|
|
- name: Preserve coverage evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9
|
|
with:
|
|
name: changed-php-coverage
|
|
path: |
|
|
coverage-changed.xml
|
|
coverage-changed.json
|
|
${{ runner.temp }}/request-coverage
|
|
if-no-files-found: warn
|