Sitelet https://github.com/temporalio/cli/pull/1033
Skip to content

Add persistence info to start-dev banner - #1033

Merged
chaptersix merged 9 commits into
temporalio:mainfrom
SAY-5:feat/start-dev-banner-persistence
May 30, 2026
Merged

chaptersix merged 9 commits into
temporalio:mainfrom
SAY-5:feat/start-dev-banner-persistence

Conversation

@SAY-5

@SAY-5 SAY-5 commented May 21, 2026

Copy link
Copy Markdown
Contributor

What was changed

temporal server start-dev now prints a Persistence: line at the end of the startup banner.

In-memory (no --db-filename):

Persistence:      in-memory (Workflow Executions are lost when the server process exits)

File-backed:

Persistence:      file (/path/to/dev.sqlite)

Why?

Per #634, the start-dev banner did not surface what form of persistence the dev server uses, so users could not tell at a glance whether Workflow Executions would survive a restart.

Checklist

  1. Closes [Feature Request] Add persistence information to start-dev banner #634

  2. How was this tested:

Two new tests in internal/temporalcli/commands.server_test.go start the dev server, capture stdout, and assert that the banner contains Persistence: plus the expected backend description. Both pass locally and fail when the banner change is reverted.

$ go test -run TestServer_StartDev_BannerPersistence ./internal/temporalcli/
ok  	github.com/temporalio/cli/internal/temporalcli	10.318s

@SAY-5
SAY-5 requested a review from a team as a code owner May 21, 2026 08:37
@CLAassistant

CLAassistant commented May 21, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@chaptersix
chaptersix self-requested a review May 21, 2026 23:00
@chaptersix

Copy link
Copy Markdown
Contributor

A few suggestions on the banner format:

  1. Label prefix: The other banner entries all use a Temporal prefix (Temporal Server:, Temporal UI:, etc.) — Persistence: should follow suit and become Temporal Persistence:.

  2. Placement: Move the persistence line between Temporal Server: and Temporal UI: so it's grouped with server-level info rather than appended at the end.

  3. Drop the warning text: The in-memory description (Workflow Executions are lost when the server process exits) is likely to alarm users unnecessarily. Just in-memory is enough — users can look up what that means, and it's already well-understood.

  4. Column width: With Temporal Persistence: being 21 chars, bump the format width from %-17s to %-21s across all lines to keep alignment.

Suggested output:

Temporal CLI 0.0.0-DEV (Server 1.31.0, UI 2.49.1)

Temporal Server:      localhost:7233
Temporal Persistence: in-memory
Temporal UI:          http://localhost:8233
Temporal Metrics:     http://localhost:61114/metrics

And for file-backed:

Temporal Persistence: /path/to/dev.sqlite

@chaptersix

Copy link
Copy Markdown
Contributor

Please make sure you have signed the Temporal CLA before this can be merged.

@SAY-5

SAY-5 commented May 22, 2026

Copy link
Copy Markdown
Contributor Author

Applied all four banner suggestions in 2b09ade: Temporal Persistence: label, moved between Server and UI, dropped the in-memory warning text, and bumped width to %-21s across all lines. Updated the test assertions to match. CLA still pending on my side.

@chaptersix

Copy link
Copy Markdown
Contributor

@SAY-5 you have to sign the CLA, I can't merge this until you do. Let me know if you are having problem with it.
I'll close this PR in a few days if it's not signed

@chaptersix

Copy link
Copy Markdown
Contributor

Related issues

Closes #634

What changed?

temporal server start-dev now prints a Temporal Persistence: line in the startup banner showing whether the server is using in-memory or file-backed storage.

Checklist

Stability

  • Breaking changes are marked with 💥 in the PR title and release notes
  • Changes to JSON output (-o json / -o jsonl) are treated as breaking changes

Design

  • This feature does not depend on Cloud-only APIs or behavior (it works against an OSS server)
  • New commands follow temporal <noun> <verb> structure (e.g. temporal workflow start) — N/A, no new commands
  • New flags are named after the API concept, not the implementation mechanism — N/A, no new flags
  • New flags don't duplicate an existing flag that serves the same purpose — N/A
  • New flags do not have short aliases without strong justification — N/A
  • Experimental features are marked with (Experimental) in commands.yaml — N/A

Help text (see style guide at the top of commands.yaml)

  • All flags shown in help text and examples are implemented and functional — N/A
  • Summaries use sentence case and have no trailing period — N/A
  • Long descriptions end with a period and include at least one example invocation — N/A
  • Examples use long flags (--namespace, not -n), one flag per line — N/A
  • Placeholder values use YourXxx form (YourWorkflowId, YourNamespace) — N/A

Behavior

  • Results go to stdout; errors and warnings go to stderr
  • Error messages are lowercase with no trailing punctuation

Tests

  • Added functional test(s) (SharedServerSuite)
  • Added unit test(s) (func TestXxx) where applicable — N/A

Manual tests

Setup

go build -o /tmp/temporal-test ./cmd/temporal

Happy path -- in-memory

$ /tmp/temporal-test server start-dev --headless
Temporal CLI 0.0.0-DEV (Server 1.31.0, UI 2.49.1)

Temporal Server:      localhost:7233
Temporal Persistence: in-memory
Temporal Metrics:     http://localhost:XXXXX/metrics

Happy path -- file-backed

$ /tmp/temporal-test server start-dev --headless \
    --db-filename /tmp/test-dev.sqlite
Temporal CLI 0.0.0-DEV (Server 1.31.0, UI 2.49.1)

Temporal Server:      localhost:7233
Temporal Persistence: /tmp/test-dev.sqlite
Temporal Metrics:     http://localhost:XXXXX/metrics

@chaptersix
chaptersix merged commit f015ce2 into temporalio:main May 30, 2026
10 checks passed
chaptersix added a commit that referenced this pull request Jul 6, 2026
…#1104)

## Summary

Backports server-independent changes from `main` into `release/1.8.x`.
Every commit here was verified to build and pass codegen against the
release line's current dependency pins (`server v1.31.0`, `sdk v1.41.1`,
`api v1.62.8`) — nothing pulls in the newer server/SDK/API that landed
on `main` via #1017.

Scope agreed as: bug fixes + CLI changes + CI/tooling. Dependency bumps
(#1040, #1052, #1063) and server-version-dependent features are
intentionally excluded.

## Included (22 commits, cherry-picked with `-x`)

**CLI / bug fixes**
- #1006 Fix help with value flags (addresses #1003 — `--help` with value
flags like `--address 123` surfaced `pflag: help requested` as an error)
- #1012 skip CountWorkflow in batch operations when `--yes` is set
- #1016 Sort output of listing search attributes
- #1029 Workflow delete now prompts for confirmation
- #1033 Add persistence info to start-dev banner
- #1047 Add `temporal schedule list-matching-times` command
- #1056 Fix task-queue config set help: use real fairness weight flag
names
- #1059 Prefix dev server cluster ID with `dev-server-`
- #1089 fix: tls is not added for profiles without tls
- #1099 Clarify activity pause timeout behavior
- #941 auto-generate deprecation warnings from YAML config

**Tests**
- #1005 Fix flakey test by disabling EC2 metadata lookup
- #1020 Remove `time.Sleep()` in commands.taskqueue_test.go

**CI / tooling**
- #1015 pin alpine docker image to 3.23.4
- #1024 remediate missing-dependency-cooldown
- #1034 Bump actions/upload-artifact from 4 to 7
- #1044 improve dependabot config
- #1045 add PR template
- #1054 pin and bump GitHub Actions to latest versions
- #1057 use allow instead of ignore for dependency-type in dependabot
config
- #1080 Bump the github-actions group with 2 updates

## Excluded (rely on the new server/SDK version)
#1017 (server bump v1.31.0 -> v1.32.0-157.0), #1046, #1087, #1001,
#1091, #1084

## Verification
- `go build ./...` passes
- all test packages compile
- `make gen` reports no codegen drift
- server/sdk/api pins unchanged from `release/1.8.x`



## CI endpoint fix (added)
Also backports the API-key CI test endpoint change from #1087
(`us-east-1` -> `ca-central-1`) as a standalone CI-only commit. This
resolves the `Request unauthorized` failure in the "Test cloud API key"
steps on `release/1.8.x`. The rest of #1087 (Nexus Operation command
code) is excluded as it depends on the new server version.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
Co-authored-by: Kevin Woo <3469532+kevinawoo@users.noreply.github.com>
Co-authored-by: Rodrigo Zhou <rodrigo.zhou@temporal.io>
Co-authored-by: Stephan Behnke <stephanos@users.noreply.github.com>
Co-authored-by: Jiechen Zhong <jiechen.zhong@temporal.io>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Kent Gruber <kent.gruber@temporal.io>
Co-authored-by: picatz <14850816+picatz@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Votta <jpvotta@gmail.com>
Co-authored-by: Nasit  Sarwar Sony <nasitsony96@gmail.com>
Co-authored-by: hussam-salah <156124396+hussam-salah@users.noreply.github.com>
Co-authored-by: Sai Asish Y <say.apm35@gmail.com>
Co-authored-by: Bitalizer <23104115+bitalizer@users.noreply.github.com>
Co-authored-by: Sean Kane <spkane31@gmail.com>
Co-authored-by: Jessica Laughlin <JLDLaughlin@users.noreply.github.com>
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
temporal 1.8.0

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre>## New Features

### `temporal schedule list-matching-times`

New command that lists the next matching start times for a schedule, making it easier to preview when a schedule will fire. ([#1047](temporalio/cli#1047))

## Improvements

- **Persistence info in the dev server banner** — `temporal server start-dev` now reports its persistence configuration in the startup banner. ([#1033](temporalio/cli#1033))
- **Dev server cluster ID is now prefixed with `dev-server-`** ([#1059](temporalio/cli#1059))
- **Search attributes are now sorted** — the output of listing search attributes is sorted for stable, readable output. ([#1016](temporalio/cli#1016))
- **`temporal workflow delete` now prompts for confirmation** before deleting. ([#1029](temporalio/cli#1029))
- **Batch operations skip the pre-count when `--yes` is set** — `CountWorkflow` is no longer called for batch operations run with `--yes`. ([#1012](temporalio/cli#1012))
- **Clearer activity pause help** — clarified the timeout behavior described in `activity pause` help text. ([#1099](temporalio/cli#1099))
- **Correct fairness weight flag names in help** — `task-queue config set` help now shows the real fairness weight flag names. ([#1056](temporalio/cli#1056))

## Bug Fixes

- **`--help` no longer errors when combined with value flags** — passing `--help` alongside a value flag (e.g. `--address 123 --help`) previously surfaced `pflag: help requested` as an error. ([#1006](temporalio/cli#1006), addresses [#1003](temporalio/cli#1003))
- **TLS now applied for profiles without an explicit TLS block** — profiles that omitted a `tls` section were not getting TLS enabled. ([#1089](temporalio/cli#1089))
- **Extension delegation preserves exit codes** — when `temporal` delegates to an extension, it now exits with the same exit code the extension returned. ([#1116](temporalio/cli#1116))
- **Docs generation escapes MDX-incompatible patterns** — `gen-docs` now escapes MDX-incompatible content and supports a `-subdir` flag, fixing documentation builds. ([#1112](temporalio/cli#1112))

## Dependency Upgrades

- UI Server: upgraded to v2.50.1
- Temporal Server: v1.31.2
- Go: v1.26.4
- Pinned Alpine base image and bumped GitHub Actions dependencies (CI/tooling only)

## What's Changed
* chore: backport server-independent changes from main to release/1.8.x by @chaptersix in temporalio/cli#1104
* Backport to 1.8.x: Add option to disable newsfeed in UI (#1109, #1110) by @chaptersix in temporalio/cli#1111
* Backport to 1.8.x: MDX docs fixes, server v1.31.2, extension exit code (#1112, #1115, #1116) by @chaptersix in temporalio/cli#1118

**Full Changelog**: temporalio/cli@v1.7.3...v1.8.0
</pre>
  <p>View the full release notes at <a href="/sitelet?url=https%3A%2F%2Fgithub.com%2Ftemporalio%2Fcli%2Fpull%2F%253Ca%2520href%3D"https://github.com/temporalio/cli/releases/tag/v1.8.0">https://github.com/temporalio/cli/releases/tag/v1.8.0</a>.</p">https://github.com/temporalio/cli/releases/tag/v1.8.0">https://github.com/temporalio/cli/releases/tag/v1.8.0</a>.</p>
</details>
<hr>

See merge request: Harmonybrew/homebrew-core!14039
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.

[Feature Request] Add persistence information to start-dev banner

3 participants