跳到正文
cccskills
免费在 GitHub 公开

release

Manage Observal maintainer releases, from creating release branches and backporting fixes to preparing preview and stable versions. Follow the existing release workflow to verify published artifacts, inspect release status, and recover interrupted or failed operations.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Cut and maintain Observal release branches, prepare alpha, beta, RC, stable, and patch releases, backport merged main PRs, inspect release status, verify published artifacts, and recover failed release operations. Use for Observal maintainer release tasks and release-process changes, not for installing or upgrading an existing Observal deployment.

集成工具GitHubDocker
查看安装方法

适用场景

  • Creating a new release branch
  • Backporting merged fixes to maintained versions
  • Preparing alpha, beta, RC, and stable releases
  • Verifying artifacts and recovering failed releases

包含的文件(1)

  • SKILL.md11.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Observal release operations

This is a repository-local maintainer skill, not a bundled end-user skill or an observal CLI command. Read the release guide completely before acting. Use the existing release tool; do not implement a second release pipeline.

Resolve these links from the skill directory. Run commands from the Observal checkout root. Examples use release/1.14 and PR 123; substitute the explicitly requested line and PR, never treat examples as authorization.

Safety and authority

  • Obtain approval before remote branch creation, pushes, PR creation, merges, workflow retries, or publishing, unless the current request explicitly authorizes that action. Preparing a PR does not authorize merging it or approving a production environment.
  • Explain before merging a preparation PR that it triggers publication, subject to the workflow approval gate. The newest verified stable release also triggers hosted deployment.
  • Never publish from main, merge a release branch back into main, rebase a release line onto main, force-push published history, or move an existing tag.
  • main carries the next minor X.Y.0-dev.0 version, never a published release version. Release versions, changelog, and .release.toml live only on release branches.
  • Land ordinary fixes on main first. Each affected release line gets its own reviewed backport PR with cherry-pick -x provenance.
  • Never bypass failed checks, reviews, signing, or checksum verification. Never expose tokens, environment files, GitHub App keys, or OIDC material.
  • Production rulesets, environment restrictions, trusted publishers, deployment changes, and Terraform apply require separate authorization. This skill does not change infrastructure or provision resources.
  • Do not run npm publish, uv publish, gh release create, or git tag as a substitute for the release workflow.

Inspect first

Read repository instructions, the release guide, and the release workflow. Confirm Git, GitHub CLI, and uv are available:

git status --short --branch
git remote
gh auth status
uv --version
uv run python tools/release.py --help

Verify remote destinations without printing embedded credentials. By default, upstream is Observal/Observal and origin is the maintainer fork. For a canonical-only clone, append --upstream origin --fork origin where appropriate. Confirm the destination before any write; a sandbox is not the production repository.

Cutting and backporting require a clean local main matching canonical main. Preparation requires a clean local release/X.Y matching that canonical release branch. Do not stash, reset, discard changes, or switch a dirty worktree automatically.

For the first release under this process, verify the guide's one-time rollout checklist. The checked-in ruleset template is not proof that protections are installed. Confirm release/* is permitted in the production environment and publishing identities remain valid. Stop and report missing configuration instead of changing it implicitly.

Choose the operation

Inspect status

uv run python tools/release.py --status

On main, this lists canonical release lines. On a release branch, it shows the latest reachable tag and unreleased commits. Status fetches remote Git metadata but does not publish.

Cut a new minor line

After approval, update local main by fast-forward only, then run:

uv run python tools/release.py --cut 1.14

The tool creates release/1.14 at exact canonical main. It rejects existing or older series and does not publish a release. It then opens a PR on main titled chore: start 1.15 development, advancing the version files and lockfiles to 1.15.0-dev.0 so main never looks older than the line it feeds. That PR needs the same approval as any main PR, is never backported, and the release branch is never merged into main to achieve it. If the bump PR step fails after the branch is created, the line still exists; rerun nothing blindly, inspect the preserved .worktrees/main-1.15.0-dev.0 and open the PR from it. Verify the resulting remote SHA and branch protection. Fetch and check out that line before preparing a release. Maintain old lines in place rather than recutting them from current main.

Backport a fix

From current canonical main, after the source PR has been rebase-merged:

uv run python tools/release.py --backport 123 --to release/1.14

The tool creates backport/1.14/123 in an isolated worktree, identifies the merged mainline commits, cherry-picks them with -x, and opens a PR against release/1.14.

Review Backport-of, destination, original SHAs, DCO trailers, the actual diff, and line compatibility. PR linkage matters because rebase merges change commit hashes. Compare patch IDs when useful, but matching provenance alone does not prove semantic equivalence. Required reviewers must examine conflict adaptations.

For several affected lines, backport independently from newest to oldest. A backport is complete only when its destination PR is merged and required checks pass. Never copy an entire newer branch into an older one.

Prepare or promote a release

On the exact, current release branch, preview the requested channel first:

uv run python tools/release.py --preview --channel beta

After approval, prepare interactively or specify the requested stage:

uv run python tools/release.py
uv run python tools/release.py --channel alpha
uv run python tools/release.py --channel beta
uv run python tools/release.py --channel rc
uv run python tools/release.py --channel stable

These are alternatives, not a batch of commands to execute. Use --version only for an approved explicit version within the line. Use --yes only when the channel and default public-note selection have been approved; it creates and pushes a PR without prompting. Adjust public notes non-interactively with repeatable --include-pr N, --exclude-pr N, and --highlight-pr N, --breaking-pr N, --title-pr N=TITLE, and --category-pr N=CATEGORY (database migration PRs must be included). Never combine preparation flags with --cut, --backport, or --status.

All code on the release branch ships. The picker curates public notes, not a code cutoff. Include database migrations in the notes. Do not manually change generated versions, lockfiles, or the release manifest to evade validation.

Channels and aliases

StageVersionShared npm/Docker alias
Alpha1.14.0-alpha.1alpha
Beta1.14.0-beta.1beta
RC1.14.0-rc.1next
Stable1.14.0latest, only if newest stable

Repeated stages increment their serial. Alpha to beta to RC to stable is forward movement; going backward within the same version core is rejected. After stable, preparation starts the next patch. An RC-to-stable promotion creates a new version, never moves an existing tag.

Older stable lines use lts-X.Y. Older prereleases use aliases such as next-X.Y or beta-X.Y when a newer version exists in the same channel. No old line may move a shared alias backward. PyPI uses PEP 440 versions and has no dist-tags; Helm publishes exact chart versions, not npm-style aliases.

For a stable bug: merge the main fix, merge its backport, prepare a patch RC if requested, then prepare stable when approved. For a beta bug: merge the main fix and backport, then prepare another beta. Do not skip straight to stable merely because checks pass.

Review the preparation PR

The tool creates prepare/vX.Y.Z[-channel.N] targeting release/X.Y, never main. Inspect:

  • .release.toml: branch, version, channel, previous reachable tag, and source_sha matching the preparation commit's only parent.
  • Only the tool's RELEASE_FILES changed: package versions, Python lockfiles, changelog, manifest, and release notes.
  • Intended backports are merged, notes and comparison links are accurate, migrations are documented, and changelog history is preserved.
  • Required checks and reviews pass. Rebase-merge only after explicit approval.

If the destination advances, regenerate preparation from its new tip. Simply rebasing stale metadata is not sufficient. Preserve existing worktrees and branches for inspection before any explicitly authorized cleanup.

For release-process changes, run the focused tests first, then repository checks as warranted:

uv run pytest tests/test_release.py tests/test_helm_oci_release.py tests/release -q
make lint
make test

For an actual release, require the destination PR's CI and reviews. Never infer readiness from tests run on a different branch or from sandbox success.

Publication and verification

Merging the preparation PR triggers release.yml. It validates the exact commit, builds artifacts, waits for approval, signs the tag with the release-branch identity, publishes registries, verifies public artifacts, and promotes eligible stable releases. Cutting a line or merging an ordinary backport does not publish.

Inspect the run associated with the exact release commit:

gh run list --repo Observal/Observal --workflow release.yml --branch release/1.14 --limit 5
gh release view v1.14.0 --repo Observal/Observal

Follow the verification guide for downloaded checksums, provenance, and the signed tag. Download into a fresh directory outside the checkout. Verify the expected Python, npm, Docker, and Helm versions, and smoke-test the downloaded or installed artifact when execution is authorized. Never substitute a source-only test for an artifact check.

Check promotion eligibility and the actual shared aliases after publication. For the newest stable release, report the deployment job too; for maintenance or prerelease versions, confirm they did not replace the newer stable release. Production registry credentials and deployments remain unverified by a dummy repository test.

Recovery

  • Preparation failure: inspect the preserved .worktrees/release-vX.Y.Z[-channel.N]. Do not blindly rerun or delete it.
  • Backport conflict: inspect .worktrees/backport-X.Y-PR, resolve the exact sequence with review, run relevant tests, and continue the cherry-pick. Never silently skip a commit. Inspect remote state before pushing or creating a PR after an interrupted operation.
  • Publication failure: inspect the failed job and existing tag, assets, and registry versions before requesting a retry. Never overwrite a published version or tag. A tag must identify the validated commit and verify with its exact branch signing identity.
  • Manual recovery: select the same release/X.Y branch for release.yml and supply the full validated release commit SHA as target. Obtain approval before dispatching. Never retry on main or substitute a newer branch tip.
  • Newer version already released: do not force an old preparation through progression checks or move aliases manually. Report the state and prepare an approved correction as a new version.

Completion report

Report the branch, version/channel, main and backport PRs, preparation PR, exact release commit/tag, workflow and release URLs, actual registry aliases, checks and artifact verification performed, and promotion/deployment outcomes where applicable. State anything skipped, blocked, or unverified. Do not call a preparation PR a published release.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

observal

免费

Find and reuse organization-approved skills, prompts, tool connections, and Agents through Observal. Check existing installations, select resources suited to the task, and handle account setup, shared Agents, inbox items, and teamspace membership through the CLI.

中文简介正在准备中。当前显示英语简介。

  • Finding approved resources for a task
  • Checking installed skills and tool connections
  • Configuring login and the local Agent environment
Observal/Observal45642026年10月20日 更新

Administer Observal users, settings, submission reviews, identity configuration, and security investigations. Also manage local server upgrades, rollback, and database schema migrations, checking the resulting state and protecting sensitive values throughout privileged operations.

中文简介正在准备中。当前显示英语简介。

  • Managing users, permissions, and submission reviews
  • Configuring SAML sign-in and SCIM user provisioning
  • Investigating security events and audit logs
Observal/Observal45642026年10月20日 更新

Recover missed Observal session deliveries, upgrade or downgrade the command-line tool, and roll back version changes. After specified connection or configuration failures, it can also create local Agent files when explicitly requested.

中文简介正在准备中。当前显示英语简介。

  • Recover missed session deliveries
  • Upgrade or downgrade the CLI
  • Roll back a CLI version change
Observal/Observal45642026年10月20日 更新

Create and install Observal Agents, edit their definitions, and manage publication and version releases. The skill also supports forking approved Agents, archiving and restoring them, transferring ownership, and managing co-authors.

中文简介正在准备中。当前显示英语简介。

  • Create and publish an Agent
  • Install an existing Agent
  • Customize an approved Agent
Observal/Observal45642026年10月20日 更新

Inspect Agent activity in Observal through execution records, sessions, ratings, logs, and insight reports. Use the evidence to investigate telemetry problems, costs, and performance regressions, then identify practical next steps while accounting for limited data.

中文简介正在准备中。当前显示英语简介。

  • Reviewing recent Agent activity
  • Diagnosing missing telemetry
  • Investigating costs and performance regressions
Observal/Observal45642026年10月20日 更新

Find, evaluate, and install agent components from Observal, including skills, MCP servers, hooks, and prompts. For components you control, the skill also supports bulk submission, version management, archiving, restoration, ownership transfers, and co-author management.

中文简介正在准备中。当前显示英语简介。

  • Find and install components for an agent environment
  • Get component recommendations for current needs
  • Submit multiple components for review
Observal/Observal45642026年10月20日 更新

查看 Observal 的全部技能

报告此技能的问题