Skip to content

fix(release): internalize migrated Chocolatey URLs - #48

Merged
rianjs merged 1 commit into
mainfrom
feat/chocolatey-internalization-shared
Sep 25, 2026
Merged

rianjs merged 1 commit into
mainfrom
feat/chocolatey-internalization-shared

Conversation

@rianjs

@rianjs rianjs commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Render complete literal AMD64 and ARM64 download URLs for migrated Chocolatey templates, alongside checksums. Validate the packed nupkg before push; preserve legacy templates during rollout. This shared path must be merged and v1 updated before the confluence-cli balloon release. Acceptance remains licensed Chocolatey Business internalization and offline install.

@rianjs

rianjs commented Sep 25, 2026

Copy link
Copy Markdown
Contributor Author

Test coverage assessment — #48

Major

  • The release renderer has no executable test. The core behavior lives in the PowerShell step that detects the two opt-in placeholders, constructs the AMD64 and ARM64 URLs, rejects legacy expressions for migrated templates, and emits static-urls (.github/workflows/release.yml:385-415). The added tests only invoke the Python archive scanner (actions/chocolatey-push/test_chocolatey_push.py:105-160). A bad repository/tag/asset interpolation, omitted replacement, one-placeholder migration template, or missing required render input would still pass. Add a small PowerShell fixture test that asserts the exact two rendered URLs, checksums, and static-urls=true, and covers the explicit failure cases.

  • The positive archive test cannot prove the promised static AMD64 and ARM64 URLs. validate_static_package only rejects known tokens and two runtime-version forms (actions/chocolatey-push/chocolatey_push.py:126-145); the positive fixture merely supplies URLs by hand (test_chocolatey_push.py:135-151). A package with no URLs, the AMD64 asset in both fields, an empty URL, or another runtime expression would pass this test and the validator. Test the packed output from the renderer and assert each architecture field contains its expected literal GitHub release URL.

Minor

  • Legacy migration compatibility is not covered at the workflow/action boundary. The false branch is the intended compatibility path (.github/workflows/release.yml:385-394), and the generated value controls whether the composite action adds --require-static-urls (actions/chocolatey-push/action.yml:34-46). No test renders a checksum-only legacy template and verifies it packs/pushes without static validation, or verifies a migrated template carries the CLI flag through this YAML boundary. Add those two fixture cases before using the shared v1 workflow during rollout.

@rianjs
rianjs force-pushed the feat/chocolatey-internalization-shared branch from b880d21 to 2c28a6a Compare September 25, 2026 15:34
@rianjs
rianjs marked this pull request as ready for review September 25, 2026 15:36

@rianjs-bot rianjs-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated PR Review

Reviewed commit: 2c28a6ae2fb5
Profile: codex-rianjs-bot - Posting as: rianjs-bot[bot]

Summary

Reviewer Findings
automation:ci-release 0
policies:conventions 0
structure:repo-health 0

Reviewer Coverage

  • automation:ci-release — complete (broad); skipped: none; constraints: PowerShell renderer tests passed locally; Python pytest dependencies were unavailable in the review environment. Review limited to the assigned CI/release and Chocolatey action files.
  • policies:conventions — complete (broad); inspected 2 assigned files (8 inspected across reviewers): .github/workflows/release.yml, .github/workflows/test-actions.yml; skipped: none; constraints: Shared CLI and automation convention source documents were not present in the review context or local convenience paths.
  • structure:repo-health — complete (broad); inspected 2 assigned files (8 inspected across reviewers): .github/workflows/release.yml, .github/workflows/test-actions.yml; skipped: none; constraints: Repository-specific review guidance was unavailable. Review limited to the two assigned workflow files; the renderer action definition was read only to verify their interface.
Inspected files (8)
  • .github/workflows/release.yml
  • .github/workflows/test-actions.yml
  • actions/chocolatey-push/action.yml
  • actions/chocolatey-push/chocolatey_push.py
  • actions/chocolatey-push/test_chocolatey_push.py
  • actions/chocolatey-render/action.yml
  • actions/chocolatey-render/render.ps1
  • actions/chocolatey-render/test_render.ps1

0 PR discussion threads considered. 0 summarized; 0 resolved.


Completed in 2m 04s | gpt-5.6-terra | cr 0.10.314
Field Value
Model gpt-5.6-terra
Reviewers automation:ci-release, policies:conventions, structure:repo-health
Engine codex_cli · gpt-5.6-terra
Reviewed by cr · rianjs-bot[bot]
Duration 2m 04s wall · 2m 51s compute
Cost unavailable
Tokens 673.8k in / 7.9k out

Per-workstream usage

  • orchestrator-selection — gpt-5.6-terra
    • In: 34.3k
    • Out: 714
    • Cache read: 27.1k
    • Cache create: unavailable
    • Cost: unavailable
    • Duration: 17s
  • automation:ci-release — gpt-5.6-terra
    • In: 348.4k
    • Out: 3.9k
    • Cache read: 302.8k
    • Cache create: unavailable
    • Cost: unavailable
    • Duration: 1m 25s
  • policies:conventions — gpt-5.6-terra
    • In: 64.0k
    • Out: 708
    • Cache read: 49.4k
    • Cache create: unavailable
    • Cost: unavailable
    • Duration: 19s
  • structure:repo-health — gpt-5.6-terra
    • In: 172.9k
    • Out: 1.8k
    • Cache read: 140.8k
    • Cache create: unavailable
    • Cost: unavailable
    • Duration: 44s
  • orchestrator-rollup — gpt-5.6-terra
    • In: 54.3k
    • Out: 763
    • Cache read: 44.3k
    • Cache create: unavailable
    • Cost: unavailable
    • Duration: 5s

@rianjs
rianjs merged commit 86df1fd into main Sep 25, 2026
22 checks passed
@rianjs
rianjs deleted the feat/chocolatey-internalization-shared branch September 25, 2026 15:41
rianjs added a commit to open-cli-collective/atlassian-cli that referenced this pull request Sep 25, 2026
Render literal AMD64 and ARM64 release URLs in confluence-cli packages,
including the manual publisher, and inspect a rendered nupkg in Windows
CI. This is the Chocolatey Business balloon: merge after shared workflow
PR open-cli-collective/.github#48 is published to v1, release one new
cfl version, then verify licensed internalization and offline install
before rolling out other packages. Related: #482; keep the issue open
until empirical confirmation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant