Skip to content

ci: resolve chocolatey packaging paths working-directory-relative - #17

Merged
rianjs merged 1 commit into
mainfrom
ci/16-choco-working-directory
May 30, 2026
Merged

ci: resolve chocolatey packaging paths working-directory-relative#17
rianjs merged 1 commit into
mainfrom
ci/16-choco-working-directory

Conversation

@rianjs

@rianjs rianjs commented May 30, 2026

Copy link
Copy Markdown
Contributor

What

Adds working-directory: ${{ inputs.working-directory }} to the two chocolatey steps in the reusable release.yml that reference packaging/chocolatey paths:

  • Update version and checksums — reads packaging/chocolatey/$CHOCO_ID.nuspec + packaging/chocolatey/tools/chocolateyInstall.ps1.
  • Pack and pushcd packaging/chocolatey.

The Get checksums from release step downloads checksums.txt to . and is path-agnostic, so it is left unchanged.

Why

The chocolatey job hardcoded repo-root-relative packaging paths, so a monorepo tool's tools/<tool>/packaging/chocolatey could not be found — the second monorepo gap surfaced during the atlassian-cli#397 survey (sibling to the identity-check repo-root fix, #14/#15). The other channel jobs are already monorepo-correct: winget uses wingetcreate update against the published manifest, and homebrew/linux/goreleaser/auto-release resolve relative to working-directory (or run goreleaser from root by design).

Per-step working-directory (not a job-level defaults.run.working-directory) is used deliberately — GHA defaults is not a safe place to interpolate inputs.*.

Backward-compatible: flat repos pass working-directory ., so paths resolve identically to today.

Testing

The choco job is Windows + secret-gated (chocolatey-api-key), so — like the darwin-gate check-macho half — it can't run end-to-end in CI; the structural change is validated by YAML parse + the real end-to-end proof on atlassian-cli#397's first monorepo choco release. After merge: cut v1.1.1 and re-point the moving @v1 tag.

Closes #16

The reusable release.yml chocolatey job hardcoded repo-root-relative
packaging/chocolatey paths, so a monorepo tool's
tools/<tool>/packaging/chocolatey could not be found. Add
working-directory: ${{ inputs.working-directory }} to the two steps that
reference those paths (the checksum-download step is path-agnostic and is
left alone). Flat repos pass ".", so resolution is unchanged.

Second monorepo gap surfaced during the atlassian-cli#397 survey, sibling
to the identity-check repo-root fix (#14/#15).

Closes #16
@rianjs

rianjs commented May 30, 2026

Copy link
Copy Markdown
Contributor Author

Findings

No findings.

The fix is complete and correctly scoped:

  • Update version and checksums now resolves packaging/chocolatey/... under inputs.working-directory.
  • Pack and push now starts under inputs.working-directory, then cd packaging/chocolatey, so flat repos and monorepo tools both work.
  • Get checksums from release is correctly untouched; it only downloads/parses checksums.txt and exports hashes via $GITHUB_ENV.
  • No job-level defaults.run.working-directory expression was introduced.
  • Flat repos remain unchanged because their working-directory is ..
  • Winget, Homebrew, Linux, GoReleaser, and auto-release do not have the same local packaging/chocolatey path dependency.

After merge, cut/repoint @v1 to v1.1.1 before atlassian#397 enables the reusable Chocolatey path.

@monit-reviewer monit-reviewer 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: 5222b2c

Summary

No issues found.

1 PR discussion thread considered.


Completed in 10s | $0.15 | sonnet | daemon 0.2.121 | Glorfindel
Field Value
Model sonnet
Reviewers hybrid-synthesis, harness-engineering:harness-architecture-reviewer, harness-engineering:harness-enforcement-reviewer, harness-engineering:harness-knowledge-reviewer
Engine claude · sonnet
Reviewed by pr-review-daemon · monit-pr-reviewer
Duration 10s wall · 12s compute (Reviewers: 4s · Synthesis: 4s)
Cost $0.15
Tokens 57.9k in / 359 out
Turns 4

Per-workstream usage

Workstream Model In Out Cache read Cache create Cost
hybrid-synthesis sonnet 29.6k 53 18.6k 10.9k (1h) $0.05
harness-engineering:harness-architecture-reviewer sonnet 9.5k 113 2.1k 7.3k (1h) $0.03
harness-engineering:harness-enforcement-reviewer sonnet 9.5k 109 2.1k 7.3k (1h) $0.03
harness-engineering:harness-knowledge-reviewer sonnet 9.5k 84 2.1k 7.3k (1h) $0.03

Re-reviews only run when @monit-reviewer is re-requested as a reviewer — push as many commits as you need, then re-request when ready. PRs targeting branches other than main, master are skipped, even when @monit-reviewer is re-requested.

@rianjs
rianjs merged commit 23b9aa3 into main May 30, 2026
17 checks passed
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.

release.yml: resolve chocolatey packaging paths working-directory-relative for monorepo consumers

2 participants