Changeset 58166 for branches/6.5/.github/workflows/php-compatibility.yml
- Timestamp:
- 05/17/2024 06:12:02 PM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/6.5/.github/workflows/php-compatibility.yml
r57757 r58166 41 41 42 42 jobs: 43 44 43 # Runs PHP compatibility testing. 45 #46 # Violations are reported inline with annotations.47 #48 # Performs the following steps:49 # - Checks out the repository.50 # - Sets up PHP.51 # - Logs debug information.52 # - Configures caching for PHP compatibility scans.53 # - Installs Composer dependencies.54 # - Make Composer packages available globally.55 # - Runs the PHP compatibility tests.56 # - Generate a report for displaying issues as pull request annotations.57 # - Ensures version-controlled files are not modified or deleted.58 44 php-compatibility: 59 45 name: Check PHP compatibility 60 runs-on: ubuntu-latest46 uses: WordPress/wordpress-develop/.github/workflows/reusable-php-compatibility.yml@trunk 61 47 permissions: 62 48 contents: read 63 timeout-minutes: 2064 49 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 65 66 steps:67 - name: Checkout repository68 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.169 with:70 show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}71 72 - name: Set up PHP73 uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2.30.074 with:75 php-version: '7.4'76 coverage: none77 tools: cs2pr78 79 - name: Log debug information80 run: |81 composer --version82 83 # This date is used to ensure that the PHP compatibility cache is cleared at least once every week.84 # http://man7.org/linux/man-pages/man1/date.1.html85 - name: "Get last Monday's date"86 id: get-date87 run: echo "date=$(/bin/date -u --date='last Mon' "+%F")" >> $GITHUB_OUTPUT88 89 - name: Cache PHP compatibility scan cache90 uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.191 with:92 path: .cache/phpcompat.json93 key: ${{ runner.os }}-date-${{ steps.get-date.outputs.date }}-phpcompat-cache-${{ hashFiles('**/composer.json', 'phpcompat.xml.dist') }}94 95 # Since Composer dependencies are installed using `composer update` and no lock file is in version control,96 # passing a custom cache suffix ensures that the cache is flushed at least once per week.97 - name: Install Composer dependencies98 uses: ramsey/composer-install@57532f8be5bda426838819c5ee9afb8af389d51a # v3.0.099 with:100 custom-cache-suffix: ${{ steps.get-date.outputs.date }}101 102 - name: Make Composer packages available globally103 run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH104 105 - name: Run PHP compatibility tests106 id: phpcs107 run: phpcs --standard=phpcompat.xml.dist --report-full --report-checkstyle=./.cache/phpcs-compat-report.xml108 109 - name: Show PHPCompatibility results in PR110 if: ${{ always() && steps.phpcs.outcome == 'failure' }}111 run: cs2pr ./.cache/phpcs-compat-report.xml112 113 - name: Ensure version-controlled files are not modified or deleted114 run: git diff --exit-code115 50 116 51 slack-notifications:
Note: See TracChangeset
for help on using the changeset viewer.