Make WordPress Core


Ignore:
Timestamp:
06/06/2024 03:27:31 PM (8 months ago)
Author:
desrosj
Message:

Build/Test Tools: Make use of new reusable workflows for 6.0.

This updates the 6.0 branch to utilize the new reusable workflows in trunk introduced in [58165].

This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:

  • The image and platform properties for the mysql container have been updated to always prefer amd64 containers (#60822).
  • macos-13 is now pinned for MacOS jobs instead of macos-latest (#61340).
  • Run E2E tests with and without SCRIPT_DEBUG (#58661).
  • Migrating to Docker Compose V2 (#60901).
  • Removing the version property from docker-compose.yml (#59416).
  • Improvements to how artifacts and comments for Playground testing are generated.
  • Removing SVN related commands causing failures (#61216).
  • Updating the actions/github-scripts action to the latest version.
  • Move the Memcached container into the Docker Compose config (#55700).
  • Configure Xdebug modes in the local Docker environment (#56022).

Merges [53895], [53552], [56113], [56114], [57918], [58157], [57124], [57125], [57249] to the 6.0 branch.

Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen.
See #55700, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213, #58661.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/6.0/.github/workflows/php-compatibility.yml

    r55490 r58357  
    99      - '[6-9].[0-9]'
    1010    tags:
    11       - '5.[5-9]*'
    12       - '[6-9].[0-9]*'
     11      - '[0-9]+.[0-9]'
     12      - '[0-9]+.[0-9].[0-9]+'
     13      - '![34].[0-9].[0-9]+'
     14      - '!5.[0-4].[0-9]+'
    1315  pull_request:
    1416    branches:
     
    3436  cancel-in-progress: true
    3537
     38# Disable permissions for all available scopes by default.
     39# Any needed permissions should be configured at the job level.
     40permissions: {}
     41
    3642jobs:
    37 
    3843  # Runs PHP compatibility testing.
    39   #
    40   # Violations are reported inline with annotations.
    41   #
    42   # Performs the following steps:
    43   # - Checks out the repository.
    44   # - Sets up PHP.
    45   # - Logs debug information.
    46   # - Configures caching for PHP compatibility scans.
    47   # - Installs Composer dependencies.
    48   # - Make Composer packages available globally.
    49   # - Runs the PHP compatibility tests.
    50   # - Generate a report for displaying issues as pull request annotations.
    51   # - Ensures version-controlled files are not modified or deleted.
    5244  php-compatibility:
    5345    name: Check PHP compatibility
    54     runs-on: ubuntu-latest
    55     timeout-minutes: 20
     46    uses: WordPress/wordpress-develop/.github/workflows/reusable-php-compatibility.yml@trunk
     47    permissions:
     48      contents: read
    5649    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
    57 
    58     steps:
    59       - name: Checkout repository
    60         uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
    61 
    62       - name: Set up PHP
    63         uses: shivammathur/setup-php@d30ad8b1843ace22e6698ab99bbafaa747b6bd0d # v2.24.0
    64         with:
    65           php-version: '7.4'
    66           coverage: none
    67           tools: cs2pr
    68 
    69       - name: Log debug information
    70         run: |
    71           composer --version
    72 
    73       # This date is used to ensure that the PHP compatibility cache is cleared at least once every week.
    74       # http://man7.org/linux/man-pages/man1/date.1.html
    75       - name: "Get last Monday's date"
    76         id: get-date
    77         run: echo "date=$(/bin/date -u --date='last Mon' "+%F")" >> $GITHUB_OUTPUT
    78 
    79       - name: Cache PHP compatibility scan cache
    80         uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v3.2.6
    81         with:
    82           path: .cache/phpcompat.json
    83           key: ${{ runner.os }}-date-${{ steps.get-date.outputs.date }}-phpcompat-cache-${{ hashFiles('**/composer.json', 'phpcompat.xml.dist') }}
    84 
    85       # Since Composer dependencies are installed using `composer update` and no lock file is in version control,
    86       # passing a custom cache suffix ensures that the cache is flushed at least once per week.
    87       - name: Install Composer dependencies
    88         uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
    89         with:
    90           custom-cache-suffix: ${{ steps.get-date.outputs.date }}
    91 
    92       - name: Make Composer packages available globally
    93         run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH
    94 
    95       - name: Run PHP compatibility tests
    96         id: phpcs
    97         run: phpcs --standard=phpcompat.xml.dist --report-full --report-checkstyle=./.cache/phpcs-compat-report.xml
    98 
    99       - name: Show PHPCompatibility results in PR
    100         if: ${{ always() && steps.phpcs.outcome == 'failure' }}
    101         run: cs2pr ./.cache/phpcs-compat-report.xml
    102 
    103       - name: Ensure version-controlled files are not modified or deleted
    104         run: git diff --exit-code
     50    with:
     51      php-version: '7.4'
    10552
    10653  slack-notifications:
    10754    name: Slack Notifications
    10855    uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
     56    permissions:
     57      actions: read
     58      contents: read
    10959    needs: [ php-compatibility ]
    11060    if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
     
    12070    name: Failed workflow tasks
    12171    runs-on: ubuntu-latest
     72    permissions:
     73      actions: write
    12274    needs: [ php-compatibility, slack-notifications ]
    12375    if: |
     
    13284    steps:
    13385      - name: Dispatch workflow run
    134         uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
     86        uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
    13587        with:
    13688          retries: 2
Note: See TracChangeset for help on using the changeset viewer.