pantheon-systems/pantheon-wordpress-upstream-tests

该软件包的最新版本(dev-master)没有可用的许可信息。

dev-master 2024-09-23 20:47 UTC

README

在 Pantheon 基础设施上,针对 Pantheon WordPress 上游的给定分支运行基于 Behat 的测试套件,以确保该分支在 Pantheon 上完全功能正常。

CircleCI

工作原理

该存储库的目的是确保 Pantheon WordPress 上游的某个分支在 Pantheon 基础设施上完全功能正常。这被用作 Pantheon 自动化 WordPress 更新过程的一部分。

从宏观角度来看,这是它的工作方式

  1. 通过 cron 作业或当对 WordPress 上游进行推送时,将启动一个新的 CircleCI 作业。
  2. 作业环境定义了三个重要的环境变量
  • TERMINUS_TOKEN - 用于在 Pantheon 上创建和删除站点环境的 机器令牌。由于此令牌旨在保密,其值在 CircleCI 管理员中设置,而不是在 circle.yml 中跟踪。
  • TERMINUS_SITE - 用于运行测试套件的现有 Pantheon 站点。此站点必须支持 multidev,并且 TERMINUS_TOKEN 必须能够为此站点创建和删除环境。
  • TERMINUS_ENV - 要创建的多 dev 分支的唯一名称,以防止作业之间的冲突。
  1. CircleCI 安装了 Terminus,这是一个用于与 Pantheon 以编程方式交互的接口。
  2. 测试套件分三步运行
  3. prepare.sh - 准备 Pantheon 站点环境以运行测试套件。准备包括
    • 使用 Terminus 创建站点环境。
  4. test.sh - 在创建的环境上运行 Behat 测试套件。
  5. cleanup.sh - 在测试套件完成后进行清理。清理包括
    • 使用 Terminus 删除站点环境。

就这样!

改进

需要以某种方式改进此测试运行器?您可以在本地克隆存储库并针对任何 Pantheon 站点运行它。

警告!警告!

请仔细阅读以下内容。

通过强制推送至 TERMINUS_ENV 并擦除数据库,此测试运行器会不可逆转地损坏您的 Pantheon 站点。仅使用一次性“丢弃”站点。不要用于任何无法删除的 Pantheon 站点。

警告发布完毕,以下是您可以在本地使用测试运行器的方法。

首先,确保已安装并验证 Terminus

composer global require pantheon-systems/terminus
terminus auth login --machine-token=<secret-token>

然后,您可以克隆并使用测试运行器

git clone git@github.com:pantheon-systems/pantheon-wordpress-upstream-tests.git
cd pantheon-wordpress-upstream-tests
export TERMINUS_SITE=wordpress-upstream
export TERMINUS_ENV=test-1
export WORDPRESS_ADMIN_USERNAME=pantheon
export WORDPRESS_ADMIN_PASSWORD="$(openssl rand -hex 8)"
./prepare.sh
./test.sh
./cleanup.sh

如有任何疑问,请随意提交一个工单