Skip to content

v1.223.0-rc.5

Pre-release
Pre-release

Choose a tag to compare

@cloudposse-releaser cloudposse-releaser released this 08 Jul 01:00
5e93aa1
Add casts core recording and rendering support Erik Osterman (Cloud Posse) (@osterman) (#2692) ## what
  • Add casts-core support with atmos cast play, atmos cast render, and global --cast recording for CLI output, including help output recording.
  • Add asciicast recorder/playback/rendering packages, terminal/PTY capture plumbing, IO recorder support, and shell writer hooks used by command recording.
  • Add workflow/custom-command step support and schemas for cast, simulate, script, and workdir, plus config defaults/loading behavior and focused tests.
  • Include non-cast user-visible fixes discovered while splitting this work, with dedicated fix notes under docs/fixes.

scope

  • This PR is intentionally limited to casts-core implementation, schemas, and related non-cast fixes.
  • Full casts documentation, announcement/blog content, demo cast assets/configs, and cast-generation workflows are intentionally omitted from this PR and will be implemented in a follow-up pull request.
  • The original ascii-cast branch remains the source for the follow-up content work and can be rebased after this core PR merges.

non-cast fix notes

  • docs/fixes/2026-07-06-custom-command-import-merge.md
  • docs/fixes/2026-07-06-custom-command-include-env.md
  • docs/fixes/2026-07-06-custom-command-env-map-form.md
  • docs/fixes/2026-07-06-custom-command-step-execution.md
  • docs/fixes/2026-07-06-terminal-color-and-force-tty.md
  • docs/fixes/2026-07-06-help-rendering-without-config.md
  • docs/fixes/2026-07-06-mask-shell-and-env-output.md
  • docs/fixes/2026-07-06-chdir-updates-pwd.md
  • docs/fixes/2026-07-06-local-vendor-source-paths.md
  • docs/fixes/2026-07-06-step-output-labels.md

why

  • Split the reviewable casts-core implementation out of ascii-cast before the user-facing documentation and content work lands separately.
  • Enable recording, playback, rendering, and scripted workflow flows without carrying generated demo/content payloads in this PR.
  • Keep the non-cast fixes that are required for the retained custom-command, terminal, env, masking, and workdir behavior.

validation

  • go test ./cmd/cast ./cmd ./pkg/config ./pkg/schema ./pkg/terminal ./pkg/ui -run 'Test|^$' -count=1
  • COLUMNS=80 GIT_CONFIG_GLOBAL="$PWD/.context/gitconfig-test" go test ./tests -run 'TestCLICommands/(indentation|Invalid_Log_Level_in_Config_File|Invalid_Log_Level_in_Environment_Variable|secrets-masking_describe_config|atmos_toolchain_--help|atmos_toolchain_install_--help|atmos_toolchain_info_--help|atmos_validate_component_failure_with_UI_output|atmos_workflow_shell_command_not_found|atmos_workflow_failure|atmos_workflow_failure_on_shell_command|atmos_workflow_invalid_step_type|atmos_workflow_invalid_from_step|atmos_workflow_invalid_manifest)$' -count=1
  • go test ./cmd/...
  • go test ./pkg/asciicast ./pkg/io ./pkg/terminal/... ./pkg/runner/step ./pkg/process ./pkg/schema ./pkg/config
  • go test ./cmd/cast -count=1
  • git diff --check -- docs/fixes

Summary by CodeRabbit

  • New Features
    • Added cast recording with multi-format rendering (GIF/MP4/HTML/ASCII/PNG/JPEG), including workflow support for cast + simulate/session outputs.
    • Introduced new workflow steps: script, hint, workdir, plus cast-based simulate.
  • Bug Fixes
    • Help output no longer fails when configuration is missing/invalid.
    • Step output labels now respect show.labels; improved stdout masking and terminal width/color/forced-TTY behavior; chdir now updates PWD.
  • Chores
    • Updated vendoring and recording-related handling, plus snapshots/help docs for the new cast functionality.