Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions fern/products/cli-generator/authentication.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,8 @@ With a profile selected, each value resolves as `explicit flag → selected prof

Non-secret settings live in `~/.config/<bin>/profiles.toml`. Secrets are never written to that file: credentials go to the OS keychain under a profile-scoped account, the same store `auth login` uses.

On macOS, the CLI reads and writes the Keychain through Apple's `/usr/bin/security` tool, so the access dialog names `security` rather than your CLI, and one **Always Allow** lasts across rebuilds and upgrades. A credential saved by an earlier release prompts once after upgrading. If the user denies the dialog or the Keychain is locked, the command reports that the saved credential couldn't be read from the macOS Keychain rather than reporting it as missing. Releases can also [sign the macOS binaries](/learn/cli-generator/get-started/publishing#sign-macos-binaries).

`--parent <name>` sets single-level inheritance. A child inherits its parent's credential, base URL, server variables, parameter defaults (child wins per key), retries, and transport settings. It doesn't inherit the default output format, since output shape belongs to the invocation rather than the tenant. Because the parent is resolved at read time, editing it propagates to its children.

## Help output
Expand Down
12 changes: 12 additions & 0 deletions fern/products/cli-generator/publishing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,18 @@ The CI workflow then builds binaries for all platforms, attaches the archives an

On public repositories, each build also signs its archives with GitHub build provenance attestations. Private repositories skip that step by default, since GitHub supports attestations on private repositories only with GitHub Enterprise Cloud; set [`distribution.githubAttestations`](/learn/cli-generator/get-started/configuration#config-options) to `true` to attest on Enterprise Cloud or `false` to drop attestations entirely.

### Sign macOS binaries

With CLI generator `0.58.2` or later, the release workflow signs the macOS binaries when the CLI repository has all three of these Actions secrets, under **Settings** > **Secrets and variables** > **Actions**:

| Secret | Value |
| --- | --- |
| `CODESIGN_CERTIFICATE` | An Apple Developer ID certificate exported as a `.p12` file, base64-encoded (for example, `base64 -i certificate.p12`) |
| `CODESIGN_CERTIFICATE_PASSWORD` | The password the `.p12` file was exported with |
| `CODESIGN_IDENTITY` | The signing identity passed to `codesign`, such as `Developer ID Application: My Org (TEAMID)` |

A binary signed with the same identity on every release keeps the macOS Keychain's **Always Allow** across upgrades of your CLI. If any of the three secrets is missing, the workflow logs that the macOS binaries stay unsigned and releases them unsigned. Signing doesn't include notarization.

## Build targets

The CI workflow produces statically linked binaries for:
Expand Down
Loading