RFC: Automated Hosting Test Runner Service

Summary

The HostingHosting A web hosting service is a type of Internet hosting service that allows individuals and organizations to make their website accessible via the World Wide Web. Team has received feedback that the current process for running hosting tests is cumbersome and requires significant setup beyond simply providing hosting space. This RFC proposes the development of a service that simplifies and automates the process of preparing and executing the hosting tests.

Problem

Currently, contributors and hosting providers who want to run the hosting tests must:

  • Manually clone and configure the test suite
  • Set up the proper environment
  • Understand all dependencies and edge cases
  • Execute and interpret the results themselves

This level of complexity creates a barrier for participation, especially for smaller hosts or non-technical contributors.

Proposed Solution

Create an automated service that prepares and runs the hosting test suite on behalf of the user. The workflow would be as follows:

  1. User Input:
    • SFTPSFTP The SSH File Transfer Protocol (SFTP) is a network protocol that provides file access, file transfer, and file management over any reliable data stream. Like FTP, but under a secure protocol./SSHSSH SSH or Secure Shell is a cryptographic network protocol for operating network services securely over an unsecured network. SSH provides a secure channel over an unsecured network by using a client–server architecture, connecting an SSH client application with an SSH server. credentials
    • DatabaseDatabase A database is an organized collection of data. Access to this data is usually provided by a "database management system" (DBMS) consisting of an integrated set of computer software that allows users to interact with one or more databases and provides access to all of the data contained in the database. Because of the close relationship between them, the term "database" is often used casually to refer to both a database and the DBMS used to manipulate it. credentials (host, name, user, password)
    • WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ username and app password/token
  2. Response:
    • The service returns a public SSH key to be added to the user’s hosting environment
  3. Execution:
    • Once the public key is in place, the service connects to the hosting environment
    • Prepares the test suite
    • Moves all the required files to the host
    • Executes the tests
    • Sends the result to make.wordpress.org

Security Considerations

  • All credentials must be securely transmitted and stored (if at all)
  • The public key approach ensures that credentials are not reused or stored long-term
  • A unique key-pair per session can further isolate the testing instance
  • Connections should be limited to specific IP addresses and short-lived

Benefits

  • Lower barrier to entry: Users do not need to understand the full setup process
  • Consistency: Every test runs in a standard, validated environment
  • Scalability: Easier onboarding of new contributors and hosts
  • Insights: Results can be aggregated to better understand trends and common issues

Next Steps

  1. Discuss and approve the general concept
  2. Create a prototype of the service
  3. Review and iterate based on initial testing
  4. Plan deployment and documentation for broader use

Request for Feedback

The Hosting Team would appreciate feedback on the following, especially from those hosts who raised concerns about the current setup:

  • Is this the right approach to lowering the barrier?
  • Are there any privacy or security concerns that must be addressed?
  • Would hosts be willing to test this service in an early access phase?

Thanks to @zunaid321 @amykamala @wesrapyd for the review