Make WordPress Core


Ignore:
Timestamp:
05/31/2024 06:11:30 PM (13 months ago)
Author:
desrosj
Message:

Build/Test Tools: Make the logic around Playground testing reusable.

The workflow responsible for testing the build process is currently responsible for creating a ZIP file of the WordPress build and storing it as an artifact. This can be used for manual testing, but is mainly used for spinning up a Playground instance.

Because of how comments with Playground testing instructions are left pull requests. the pull request number needs to be stored as a workflow artifact as well. This moves the logic responsible for this to the reusable workflow, which allows older branches to make use of Playground testing without additional maintenance burden.

See #59416.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/.github/workflows/reusable-test-core-build-process.yml

    r58165 r58274  
    2222        type: 'boolean'
    2323        default: true
     24      prepare-playground:
     25        description: 'Whether to prepare the artifacts needed for Playground testing.'
     26        required: false
     27        type: 'boolean'
     28        default: false
    2429
    2530env:
     
    4045  # - Ensures version-controlled files are not modified or deleted.
    4146  # - Uploads the ZIP as a GitHub Actions artifact (when building to the build directory).
     47  # - Saves the pull request number to a text file.
     48  # - Uploads the pull request number as an artifact.
    4249  build-process-tests:
    4350    name: Core running from ${{ inputs.directory }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }}
     
    9198      - name: Upload ZIP as a GitHub Actions artifact
    9299        uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
    93         if: ${{ inputs.directory == 'build' && 'ubuntu-latest' == inputs.os }}
     100        if: ${{ inputs.prepare-playground }}
    94101        with:
    95102          name: wordpress-build-${{ github.event_name == 'pull_request' && github.event.number || github.sha }}
    96103          path: wordpress.zip
    97104          if-no-files-found: error
     105
     106      - name: Save PR number
     107        if: ${{ inputs.prepare-playground && github.repository == 'WordPress/wordpress-develop' && github.event_name == 'pull_request' }}
     108        run: |
     109          mkdir -p ./pr-number
     110          echo ${{ github.event.number }} > ./pr-number/NR
     111
     112      # Uploads the PR number as an artifact for the Pull Request Commenting workflow to download and then
     113      # leave a comment detailing how to test the PR within WordPress Playground.
     114      - name: Upload PR number as artifact
     115        uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
     116        if: ${{ inputs.prepare-playground && github.repository == 'WordPress/wordpress-develop' && github.event_name == 'pull_request' }}
     117        with:
     118          name: pr-number
     119          path: pr-number/
Note: See TracChangeset for help on using the changeset viewer.