Skip to content

[release/v7.4.16] Fix *nix permissions and use certificate_logical_to_actual#27451

Closed
adityapatwardhan wants to merge 3 commits into
release/v7.4.16from
backport-27385
Closed

[release/v7.4.16] Fix *nix permissions and use certificate_logical_to_actual#27451
adityapatwardhan wants to merge 3 commits into
release/v7.4.16from
backport-27385

Conversation

@adityapatwardhan
Copy link
Copy Markdown
Member

Backport of #27385 to release/v7.4.16

Triggered by @adityapatwardhan on behalf of @andyleejordan

Original CL Label: CL-BuildPackaging

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

Updates build and packaging scripts to use new ESRP key variables and correct file permissions for release artifacts.

Customer Impact

  • Customer reported
  • Found internally

Restores executable permissions for pwsh in tarballs, adds regression tests, and finalizes ESRP key abstraction. Addresses #23968 and internal build issues.

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Validated by running full build and packaging pipelines for Linux and macOS. Regression tests added for tarball permissions. All artifacts verified for correct signing and permissions.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Changes are limited to packaging scripts and build pipelines. Extensively tested with new regression tests and verified in internal builds.

andyleejordan and others added 3 commits May 14, 2026 12:31
The tarball staging path used `Copy-Item`, which on *nix doesn't preserve
the source file mode, so `pwsh` ended up 644 in the `.tar.gz`. The Debian,
RPM, and macOS PKG paths explicitly `chmod` everything to 644 and then bump
`pwsh` back to 755, which silently demoted `createdump` (the .NET helper
that produces crash minidumps) along with it. Now we `chmod 755` both
executables in all package staging paths, guarded by `Test-Path` since
fxdependent builds don't bundle `createdump`.

Also added regression tests which check the permissions of `pwsh` inside
the Linux and macOS tarballs before we upload them.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… group

The `CP-…` key codes used for ESRP signing are now set from ADO via the
`certificate_logical_to_actual` variable group. The templates reference
the following variables instead of literal codes:

- `$(authenticode_cert_id)`
- `$(authenticode_test_cert_id)`
- `$(nuget_cert_id)`
- `$(apple_cert_id)`
- `$(pgp_linux_cert_id)`
- `$(pgp_release_cert_id)`

`nupkg.yml`, `mac-package-build.yml`, and `linux-package-build.yml` pick
up the new group import. `linux-package-build.yml` also now selects the
PGP signing profile based on whether `jobName` starts with `mariner`, so
`PowerShell-Packages-Stages.yml` no longer threads a `signingProfile`
parameter in for the two Mariner jobs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
It's been this way for a couple years which means we've been passing...something else?
Copilot AI review requested due to automatic review settings May 14, 2026 19:39
@adityapatwardhan adityapatwardhan requested a review from a team as a code owner May 14, 2026 19:39
@adityapatwardhan
Copy link
Copy Markdown
Member Author

Closing as wrong PR was chosen

@adityapatwardhan adityapatwardhan deleted the backport-27385 branch May 14, 2026 19:44
@adityapatwardhan adityapatwardhan review requested due to automatic review settings May 14, 2026 20:00
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.

2 participants