open-telemetry / dev-tools
OpenTelemetry PHP 开发工具。
0.1
2024-02-05 21:21 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- ext-simplexml: *
- composer/composer: ^2.3
- gitonomy/gitlib: ^1.3
- knplabs/github-api: ^3.4
- kriswallsmith/buzz: ^1.2
- nyholm/psr7: ^1.4
- php-http/discovery: ^1.19
- symfony/runtime: ^5.0|^6.0
- symfony/service-contracts: ^1|^2.5
- symfony/yaml: ^4.4|^5.3|^6.0
Requires (Dev)
- open-telemetry/dev-common-metapackage: dev-main
This package is auto-updated.
Last update: 2024-09-12 01:09:55 UTC
README
发布管理
用于查找 OpenTelemetry 未发布更改的工具,创建带有发布说明的新版本。
要求
您需要是 opentelemetry-php 的管理员/所有者才能创建版本。较低权限的账户应该能够执行所有其他操作,但尝试创建版本时会失败。
您需要 创建一个细粒度的 GitHub 访问令牌 以便创建版本。
对于 opentelemetry-php
下的所有内容(几乎所有内容,即 gitsplit 目标)
- 资源所有者:
opentelemetry-php
- 仓库访问:
所有仓库
- 权限:
内容:读-写
对于 opentelemetry-php-instrumentation
(扩展)
- 资源所有者:
open-telemetry
- 仓库访问:(仅选择)
open-telemetry/opentelemetry-php-instrumentation
- 权限:
内容:读-写
您可以通过 GITHUB_TOKEN
环境变量(首选)或 --token=
CLI 选项提供令牌。
用法
export GITHUB_TOKEN=<fine-grain-access-token> bin/otel release:run -[vvv] [--token=token] [--branch=main] [--dry-run] [--repo=<core|contrib>]
选项
-v[vv]
- 详细度--token=
- GitHub 令牌(也可以通过GITHUB_TOKEN
传递)--branch=
- 从 GitHub 分支进行标记--dry-run
- 不进行任何更改--repo=
- 选择单个上游仓库进行运行(默认:所有)--filter=
- 根据前缀过滤仓库
脚本将执行以下操作
- 从源仓库获取
.gitsplit.yaml
- 处理 yaml 以确定下游(只读)仓库及其在上游中的路径关联(例如 open-telemetry/opentelemetry-php:/src/API -> opentelemetry-php/api)
- 查找下游的最新发布版
- 查找比最新发布版新的上游更改及其关联的拉取请求
- 检索最新标签和所选分支(例如 main)之间的下游差异
- 检查上游更改是否与下游差异匹配
收集所有信息后,它将遍历每个有未发布更改的仓库。对于每个仓库
- 列出更改
- 显示最后发布版本,并请求新版本
- 询问新版本是否应该是最新版本
- 询问新版本是否应该是一个草稿(例如,您可以手动调整说明)
- 生成发布说明
- 创建版本(除非指定了
--dry-run
)
PECL 发布工具
生成更新的 package.xml
用于获取和更新 package.xml 的工具,用于 PECL 上的 OpenTelemetry 扩展的新版本。
bin/otel release:pecl
选项
-v[vv]
- 详细度--force
- 即使未检测到更改也要添加新版本
脚本将执行以下操作
- 获取最新发布版
- 获取比上次发布新的所有提交
- 获取
package.xml
- 提示输入下一个版本号
- 将现有版本详细信息移动到
<changelog>
中的新release
- 使用新版本详细信息更新 XML
- 将更新的
package.xml
写入控制台
手动步骤
- 将 XML 粘贴到
package.xml
- 在 IDE 中打开以检查/修复格式化和无效 XML(无效字符应已转换)
- 将
php_opentelemetry.h
版本信息更新为新版本号#(查找PHP_OPENTELEMETRY_VERSION
) - 将(package.xml + php_opentelemetry.h)PR 提交回 opentelemetry-php-instrumentation
- 获取批准并合并 PR
- 标记下一个发布版:
bin/otel tag:pecl
- 等待GitHub工作流运行完成。它将创建一个草案版本:检查其外观是否正常,然后发布
- 从发布中下载并解压
opentelemetry-pecl
工件(包含opentelemetry-<版本>.tar.gz
) - 将
opentelemetry-<版本>.tar.gz
上传到PECL:https://pecl.php.net/release-upload.php - 验证(通过PECL安装)