open-telemetry/dev-tools

OpenTelemetry PHP 开发工具。

0.1 2024-02-05 21:21 UTC

This package is auto-updated.

Last update: 2024-09-12 01:09:55 UTC


README

CI Build codecov

发布管理

用于查找 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 写入控制台

手动步骤

  1. 将 XML 粘贴到 package.xml
  2. 在 IDE 中打开以检查/修复格式化和无效 XML(无效字符应已转换)
  3. php_opentelemetry.h 版本信息更新为新版本号#(查找 PHP_OPENTELEMETRY_VERSION
  4. 将(package.xml + php_opentelemetry.h)PR 提交回 opentelemetry-php-instrumentation
  5. 获取批准并合并 PR
  6. 标记下一个发布版:bin/otel tag:pecl
  7. 等待GitHub工作流运行完成。它将创建一个草案版本:检查其外观是否正常,然后发布
  8. 从发布中下载并解压opentelemetry-pecl工件(包含opentelemetry-<版本>.tar.gz
  9. opentelemetry-<版本>.tar.gz上传到PECL:https://pecl.php.net/release-upload.php
  10. 验证(通过PECL安装)