Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
name: Performance Tests
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- trunk
|
|
|
|
- '6.[2-9]'
|
|
|
|
- '[7-9].[0-9]'
|
|
|
|
tags:
|
|
|
|
- '[0-9]+.[0-9]'
|
|
|
|
- '[0-9]+.[0-9].[0-9]+'
|
|
|
|
- '![45].[0-9].[0-9]+'
|
|
|
|
- '!6.[01].[0-9]+'
|
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- trunk
|
|
|
|
- '6.[2-9]'
|
|
|
|
- '[7-9].[0-9]'
|
2023-03-10 00:15:07 +00:00
|
|
|
workflow_dispatch:
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2023-05-03 22:15:27 +00:00
|
|
|
# Disable permissions for all available scopes by default.
|
|
|
|
# Any needed permissions should be configured at the job level.
|
|
|
|
permissions: {}
|
|
|
|
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
env:
|
2023-07-26 19:11:44 +00:00
|
|
|
# Performance testing should be performed in an environment reflecting a standard production environment.
|
|
|
|
WP_DEBUG: false
|
|
|
|
SCRIPT_DEBUG: false
|
|
|
|
SAVEQUERIES : false
|
|
|
|
WP_DEVELOPMENT_MODE: ''
|
2023-08-11 13:03:21 +00:00
|
|
|
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
# This workflow takes two sets of measurements — one for the current commit,
|
|
|
|
# and another against a consistent version that is used as a baseline measurement.
|
|
|
|
# This is done to isolate variance in measurements caused by the GitHub runners
|
|
|
|
# from differences caused by code changes between commits. The BASE_TAG value here
|
|
|
|
# represents the version being used for baseline measurements. It should only be
|
|
|
|
# changed if we want to normalize results against a different baseline.
|
|
|
|
BASE_TAG: '6.1.1'
|
|
|
|
LOCAL_DIR: build
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
# Runs the performance test suite.
|
|
|
|
#
|
|
|
|
# Performs the following steps:
|
|
|
|
# - Configure environment variables.
|
|
|
|
# - Checkout repository.
|
|
|
|
# - Set up Node.js.
|
|
|
|
# - Log debug information.
|
|
|
|
# - Install npm dependencies.
|
|
|
|
# - Build WordPress.
|
|
|
|
# - Start Docker environment.
|
|
|
|
# - Log running Docker containers.
|
|
|
|
# - Docker debug information.
|
|
|
|
# - Install WordPress.
|
|
|
|
# - Install WordPress Importer plugin.
|
|
|
|
# - Import mock data.
|
|
|
|
# - Update permalink structure.
|
|
|
|
# - Install MU plugin.
|
|
|
|
# - Run performance tests (current commit).
|
|
|
|
# - Print performance tests results.
|
|
|
|
# - Set the environment to the baseline version.
|
|
|
|
# - Run baseline performance tests.
|
|
|
|
# - Print base line performance tests results.
|
|
|
|
# - Set the base sha.
|
|
|
|
# - Set commit details.
|
|
|
|
# - Publish performance results.
|
|
|
|
# - Ensure version-controlled files are not modified or deleted.
|
|
|
|
# - Dispatch workflow run.
|
|
|
|
performance:
|
|
|
|
name: Run performance tests
|
|
|
|
runs-on: ubuntu-latest
|
2023-05-03 22:15:27 +00:00
|
|
|
permissions:
|
|
|
|
contents: read
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Configure environment variables
|
|
|
|
run: |
|
|
|
|
echo "PHP_FPM_UID=$(id -u)" >> $GITHUB_ENV
|
|
|
|
echo "PHP_FPM_GID=$(id -g)" >> $GITHUB_ENV
|
|
|
|
|
|
|
|
- name: Checkout repository
|
2023-08-11 13:03:21 +00:00
|
|
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
|
|
|
|
- name: Set up Node.js
|
|
|
|
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
|
|
|
|
with:
|
|
|
|
node-version-file: '.nvmrc'
|
|
|
|
cache: npm
|
|
|
|
|
|
|
|
- name: Log debug information
|
|
|
|
run: |
|
|
|
|
npm --version
|
|
|
|
node --version
|
|
|
|
curl --version
|
|
|
|
git --version
|
|
|
|
svn --version
|
|
|
|
locale -a
|
|
|
|
|
|
|
|
- name: Install npm dependencies
|
|
|
|
run: npm ci
|
|
|
|
|
|
|
|
- name: Build WordPress
|
|
|
|
run: npm run build
|
|
|
|
|
|
|
|
- name: Start Docker environment
|
|
|
|
run: |
|
|
|
|
npm run env:start
|
|
|
|
|
|
|
|
- name: Log running Docker containers
|
|
|
|
run: docker ps -a
|
|
|
|
|
|
|
|
- name: Docker debug information
|
|
|
|
run: |
|
|
|
|
docker -v
|
|
|
|
docker-compose -v
|
|
|
|
docker-compose run --rm mysql mysql --version
|
|
|
|
docker-compose run --rm php php --version
|
|
|
|
docker-compose run --rm php php -m
|
|
|
|
docker-compose run --rm php php -i
|
|
|
|
docker-compose run --rm php locale -a
|
|
|
|
|
|
|
|
- name: Install WordPress
|
|
|
|
run: npm run env:install
|
|
|
|
|
|
|
|
- name: Install WordPress Importer plugin
|
|
|
|
run: npm run env:cli -- plugin install wordpress-importer --activate --path=/var/www/${{ env.LOCAL_DIR }}
|
|
|
|
|
|
|
|
- name: Import mock data
|
|
|
|
run: |
|
2023-06-22 04:19:59 +00:00
|
|
|
curl -O https://raw.githubusercontent.com/WordPress/theme-test-data/b9752e0533a5acbb876951a8cbb5bcc69a56474c/themeunittestdata.wordpress.xml
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
npm run env:cli -- import themeunittestdata.wordpress.xml --authors=create --path=/var/www/${{ env.LOCAL_DIR }}
|
|
|
|
rm themeunittestdata.wordpress.xml
|
|
|
|
|
|
|
|
- name: Update permalink structure
|
|
|
|
run: |
|
|
|
|
npm run env:cli -- rewrite structure '/%year%/%monthnum%/%postname%/' --path=/var/www/${{ env.LOCAL_DIR }}
|
|
|
|
|
|
|
|
- name: Install MU plugin
|
|
|
|
run: |
|
|
|
|
mkdir ./${{ env.LOCAL_DIR }}/wp-content/mu-plugins
|
|
|
|
cp ./tests/performance/wp-content/mu-plugins/server-timing.php ./${{ env.LOCAL_DIR }}/wp-content/mu-plugins/server-timing.php
|
|
|
|
|
|
|
|
- name: Run performance tests (current commit)
|
|
|
|
run: npm run test:performance
|
|
|
|
|
|
|
|
- name: Print performance tests results
|
|
|
|
run: "node ./tests/performance/results.js"
|
|
|
|
|
|
|
|
- name: Set the environment to the baseline version
|
|
|
|
run: |
|
|
|
|
npm run env:cli -- core update --version=${{ env.BASE_TAG }} --force --path=/var/www/${{ env.LOCAL_DIR }}
|
|
|
|
npm run env:cli -- core version --path=/var/www/${{ env.LOCAL_DIR }}
|
|
|
|
|
|
|
|
- name: Run baseline performance tests
|
|
|
|
run: npm run test:performance -- --prefix=base
|
|
|
|
|
|
|
|
- name: Print base line performance tests results
|
|
|
|
run: "node ./tests/performance/results.js --prefix=base"
|
|
|
|
|
|
|
|
- name: Set the base sha
|
|
|
|
# Only needed when publishing results.
|
|
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' }}
|
2023-08-11 13:03:21 +00:00
|
|
|
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
id: base-sha
|
|
|
|
with:
|
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
script: |
|
|
|
|
const baseRef = await github.rest.git.getRef({ owner: context.repo.owner, repo: context.repo.repo, ref: 'tags/${{ env.BASE_TAG }}' });
|
|
|
|
return baseRef.data.object.sha;
|
|
|
|
|
|
|
|
- name: Set commit details
|
|
|
|
# Only needed when publishing results.
|
|
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' }}
|
2023-08-11 13:03:21 +00:00
|
|
|
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
id: commit-timestamp
|
|
|
|
with:
|
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
script: |
|
|
|
|
const commit_details = await github.rest.git.getCommit({ owner: context.repo.owner, repo: context.repo.repo, commit_sha: context.sha });
|
|
|
|
return parseInt((new Date( commit_details.data.author.date ).getTime() / 1000).toFixed(0))
|
|
|
|
|
|
|
|
- name: Publish performance results
|
|
|
|
# Only publish results on pushes to trunk.
|
|
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' }}
|
|
|
|
env:
|
|
|
|
BASE_SHA: ${{ steps.base-sha.outputs.result }}
|
|
|
|
COMMITTED_AT: ${{ steps.commit-timestamp.outputs.result }}
|
|
|
|
CODEVITALS_PROJECT_TOKEN: ${{ secrets.CODEVITALS_PROJECT_TOKEN }}
|
2023-03-07 16:58:56 +00:00
|
|
|
HOST_NAME: "www.codevitals.run"
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
run: node ./tests/performance/log-results.js $CODEVITALS_PROJECT_TOKEN trunk $GITHUB_SHA $BASE_SHA $COMMITTED_AT $HOST_NAME
|
|
|
|
|
|
|
|
- name: Ensure version-controlled files are not modified or deleted
|
|
|
|
run: git diff --exit-code
|
|
|
|
|
|
|
|
slack-notifications:
|
|
|
|
name: Slack Notifications
|
|
|
|
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
|
2023-05-03 23:20:40 +00:00
|
|
|
permissions:
|
|
|
|
actions: read
|
|
|
|
contents: read
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
needs: [ performance ]
|
|
|
|
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
|
|
|
|
with:
|
|
|
|
calling_status: ${{ needs.performance.result == 'success' && 'success' || needs.performance.result == 'cancelled' && 'cancelled' || 'failure' }}
|
|
|
|
secrets:
|
|
|
|
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
|
|
|
|
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
|
|
|
|
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
|
|
|
|
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
|
|
|
|
|
|
|
|
failed-workflow:
|
|
|
|
name: Failed workflow tasks
|
|
|
|
runs-on: ubuntu-latest
|
2023-05-03 22:15:27 +00:00
|
|
|
permissions:
|
|
|
|
actions: write
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
needs: [ performance, slack-notifications ]
|
|
|
|
if: |
|
|
|
|
always() &&
|
|
|
|
github.repository == 'WordPress/wordpress-develop' &&
|
|
|
|
github.event_name != 'pull_request' &&
|
|
|
|
github.run_attempt < 2 &&
|
|
|
|
(
|
|
|
|
needs.performance.result == 'cancelled' || needs.performance.result == 'failure'
|
|
|
|
)
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Dispatch workflow run
|
2023-08-11 13:03:21 +00:00
|
|
|
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
|
Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.
The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:
- Total server response time
- Server time before templates are loaded
- Server time during template rendering
In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.
The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.
Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.
git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
|
|
|
with:
|
|
|
|
retries: 2
|
|
|
|
retry-exempt-status-codes: 418
|
|
|
|
script: |
|
|
|
|
github.rest.actions.createWorkflowDispatch({
|
|
|
|
owner: context.repo.owner,
|
|
|
|
repo: context.repo.repo,
|
|
|
|
workflow_id: 'failed-workflow.yml',
|
|
|
|
ref: 'trunk',
|
|
|
|
inputs: {
|
|
|
|
run_id: '${{ github.run_id }}'
|
|
|
|
}
|
|
|
|
});
|