Skip to content

Conversation

@daledupreez
Copy link
Contributor

@daledupreez daledupreez commented Oct 14, 2025

Changes proposed in this Pull Request:

This PR is intended to start the work of creating a way to trigger all e2e tests for a specific branch in a standard way, with two primary workflows of interest:

  • We want to verify that our e2e tests are working correctly against a specific version of WooCommerce, especially beta releases
  • We want to verify that all e2e tests are working for release branches

This makes it possible to trigger the necessary tests in a completely client-agnostic way.

Testing instructions

Testing for this will only be possible after the PR has been merged, as we don't have the workflow in place to trigger it manually yet.

So for now the only thing we can do is inspect the code.


  • Covered with tests (or have a good reason not to test in description ☝️)
  • [N/A] Tested on mobile (or does not apply)

Changelog entry

  • This Pull Request does not require a changelog entry. (Comment required below)
Changelog Entry Comment

Comment

This PR only impacts our GitHub configuration and not any merchant-facing features. I don't think we should include the details in the changelog.

Post merge

@daledupreez daledupreez requested review from a team, Copilot, diegocurbelo and wjrosa and removed request for a team October 14, 2025 12:55
@daledupreez daledupreez marked this pull request as ready for review October 14, 2025 12:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a manual GitHub workflow to trigger end-to-end tests for specific branches, enabling verification of e2e test functionality against specific WooCommerce versions and release branches in a client-agnostic way.

  • Added a new manual workflow for triggering e2e tests with configurable parameters
  • Enhanced the existing reusable e2e workflow to support branch/tag/SHA checkout
  • Provided input options for WordPress version, WooCommerce version, and PHP version selection

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.github/workflows/run-e2e-tests.yml Added branch input parameter and checkout reference support
.github/workflows/manual-e2e-tests.yml Created new manual workflow with configurable test parameters

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@@ -0,0 +1,40 @@

Copy link

Copilot AI Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the empty line at the beginning of the file. YAML files should start with content, not blank lines.

Suggested change

Copilot uses AI. Check for mistakes.
Comment on lines 11 to 16
description: WordPress version number. Leave empty to use the latest version.
type: string
default: 'latest'
required: true
woocommerce-version:
description: WooCommerce version number. Leave empty to use the latest version.
Copy link

Copilot AI Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The descriptions mention 'Leave empty to use the latest version' but both fields have default values of 'latest' and are marked as required. The descriptions should be updated to reflect that 'latest' is the default value.

Suggested change
description: WordPress version number. Leave empty to use the latest version.
type: string
default: 'latest'
required: true
woocommerce-version:
description: WooCommerce version number. Leave empty to use the latest version.
description: WordPress version number. Defaults to 'latest'.
type: string
default: 'latest'
required: true
woocommerce-version:
description: WooCommerce version number. Defaults to 'latest'.

Copilot uses AI. Check for mistakes.
type: string
default: 'latest'
required: true
php-version:
Copy link

Copilot AI Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The php-version input is missing a description field, unlike the other inputs. Add a description to maintain consistency.

Suggested change
php-version:
php-version:
description: PHP version number. Leave empty to use the default version.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@wjrosa wjrosa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Useful feature, Dale. Thank you. Looks good! 👍

on:
workflow_dispatch:
inputs:
branch:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the branch input is needed, workflow_dispatch always asks for a branch to run from.
Maybe we can update the .github/workflows/run-e2e-tests.yml flow to allow workflow_dispatch.

For example, the Generate ZIP file flow allows you to choose a branch.

Action code: https://github.com/woocommerce/woocommerce-gateway-stripe/blob/develop/.github/workflows/generate-zip.yml

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that selection actually does something different: it controls which version of the workflow file to use when running the workflow. It then has the side-effect that the default SHA/ref will be the same as that branch (as far as I understand the docs for workflow_dispatch actions.
However, that implicit expectation feels a bit shaky to me, as my assumption is that we should generally run the most current version of the workflow and only use the target branch for the code. Similarly, when we're testing adjustments to the workflow, we would want to run the workflow code from a specific branch and may want to specify other target branches to use for the contents of the main codebase.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to have the workflow in the default branch to be able to trigger it... But when you do, it uses the actual yml file from the branch you select in Use workflow from.

I think that having two branch inputs would be confusing 🤔 , but let's merge this so we can test it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the scepticism. Let's see what this look like.

@daledupreez daledupreez merged commit e042db8 into develop Oct 15, 2025
40 checks passed
@daledupreez daledupreez deleted the add/manual-e2e-test-workflow-for-releases branch October 15, 2025 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants