mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
This adds an additional step to each GitHub Action workflow file that posts a message to #core in Slack every time a workflow run fails. A minor test and spacing change is included in this commit in order to that messages are posted correctly and will be reverted after testing. See #52644. git-svn-id: https://develop.svn.wordpress.org/trunk@51511 602fd350-edb4-49c9-b593-d223f7449a82
109 lines
3.7 KiB
YAML
109 lines
3.7 KiB
YAML
name: PHP Compatibility
|
|
|
|
on:
|
|
# PHP compatibility testing was introduced in WordPress 5.5.
|
|
push:
|
|
branches:
|
|
- master
|
|
- trunk
|
|
- '5.[5-9]'
|
|
- '[6-9].[0-9]'
|
|
tags:
|
|
- '5.[5-9]*'
|
|
- '[6-9].[0-9]*'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- trunk
|
|
- '5.[5-9]'
|
|
- '[6-9].[0-9]'
|
|
paths:
|
|
# This workflow only scans PHP files.
|
|
- '**.php'
|
|
# These files configure Composer. Changes could affect the outcome.
|
|
- 'composer.*'
|
|
# This file configures PHP Compatibility scanning. Changes could affect the outcome.
|
|
- 'phpcompat.xml.dist'
|
|
# Changes to workflow files should always verify all workflows are successful.
|
|
- '.github/workflows/*.yml'
|
|
workflow_dispatch:
|
|
|
|
# Cancels all previous workflow runs for pull requests that have not completed.
|
|
concurrency:
|
|
# The concurrency group contains the workflow name and the branch name for pull requests
|
|
# or the commit hash for any other events.
|
|
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
|
|
# Runs PHP compatibility testing.
|
|
#
|
|
# Violations are reported inline with annotations.
|
|
#
|
|
# Performs the following steps:
|
|
# - Checks out the repository.
|
|
# - Sets up PHP.
|
|
# - Logs debug information about the runner container.
|
|
# - Installs Composer dependencies (use cache if possible).
|
|
# - Make Composer packages available globally.
|
|
# - Logs PHP_CodeSniffer debug information.
|
|
# - Runs the PHP compatibility tests.
|
|
# - Ensures version-controlled files are not modified or deleted.
|
|
php-compatibility:
|
|
name: Check PHP compatibility
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
|
|
|
|
- name: Set up PHP
|
|
uses: shivammathur/setup-php@afefcaf556d98dc7896cca380e181decb609ca44 # v2.10.0
|
|
with:
|
|
php-version: '7.4'
|
|
coverage: none
|
|
tools: composer, cs2pr
|
|
|
|
- name: Log debug information
|
|
run: |
|
|
php --version
|
|
composer --version
|
|
|
|
- name: Install Composer dependencies
|
|
uses: ramsey/composer-install@92a7904348d4ad30236f3611e33b7f0c6f9edd70 # v1.1.0
|
|
with:
|
|
composer-options: "--no-progress --no-ansi --no-interaction"
|
|
|
|
- name: Make Composer packages available globally
|
|
run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH
|
|
|
|
- name: Log PHPCS debug information
|
|
run: phpcs -i
|
|
|
|
- name: Run PHP compatibility tests
|
|
run: phpcs --standard=phpcompat.xml.dist -q --report=checkstyle | cs2pr
|
|
|
|
- name: Ensure version-controlled files are not modified or deleted
|
|
run: git diff --exit-code
|
|
|
|
# Post workflow related status updates to Slack.
|
|
#
|
|
# When a job in this workflow fails, a message is posted to #core.
|
|
#
|
|
# This job should always require all other jobs in this workflow to complete before running.
|
|
slack-notifications:
|
|
name: Slack Notifications
|
|
runs-on: ubuntu-latest
|
|
needs: [ php-compatibility ]
|
|
if: ${{ failure() && github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' }}
|
|
|
|
steps:
|
|
- name: Post failure notification to Slack
|
|
uses: slackapi/slack-github-action@d5d276d7ae0f38f29322b80da9baf985cc80f8b1 # v1.15.0
|
|
with:
|
|
payload: "{\"workflow_name\":\"${{ github.workflow }}\",\"run_url\":\"https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\"}"
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_GHA_WEBHOOK_URL }}
|