Skip to content

Choose a tag to compare

@github-actions github-actions released this 30 May 01:35
· 4 commits to main since this release
6eaa258

v2.0.0 – Compose Validation, Refined CLI & Go Rewrite

This release adds first-class YAML validation, refactors the stack deployment system to Go, improves CLI feedback and simplifies configuration inputs.

What’s New

  • YAML file validation

    • Compose files are parsed and validated before deployment
    • Detects missing images, invalid ports, bad constraints, broken references and unsupported fields
    • Output is clean and structured, using multi-line format with arrows
  • Smarter CLI structure

    • All deployment steps are now structured and styled clearly
    • Groups steps like SSH, uploads, stack deploy and health checks
    • Makes logs easier to read in both success and failure scenarios
  • Verbose logging improvements

    • verbose: true now shows all underlying commands
    • Commands are styled as substeps so they blend naturally with regular output
  • Compact task streaming

    • No more repeated log spam like
      verify: Waiting 1 seconds to verify that tasks are stable...
      Instead, task convergence waits are grouped and concise
  • Simplified inputs

    • extra_files and compose_target_services now use multi-line format

      Old format:

      extra_files: file1.env,file2.env

      New format:

      extra_files: |
        file1.env
        file2.env
    • timeout renamed to ssh_timeout

    • fingerprint renamed to ssh_fingerprint

  • Improved rollback handling

    • Compose mode backs up the full project folder, not just the Compose file
    • Makes rollback and investigation easier
  • Better uploads

    • Shows exact remote file paths
    • Highlights flattening behaviour and potential filename conflicts
    • Uploads temporary inline .env securely, then removes it

Breaking Changes

  • extra_files and compose_target_services must now be multi-line

  • timeout and fingerprint inputs have been renamed to ssh_timeout and ssh_fingerprint

  • New file upload behaviour

    • In v1, files listed in extra_files were uploaded directly to the root folder
    • In v2, relative folder structure is preserved by default
    • To upload a file directly into the root, prefix the path with flatten

    Example:

    extra_files: |
      flatten configs/settings.conf   # uploaded as ./settings.conf
      configs/settings.conf           # uploaded as ./configs/settings.conf

    This is a breaking change if you relied on the old default of flattening all paths.

What’s Changed

  • Legacy inline Bash logic replaced by proper Go package
  • Full CLI redesign for structured, scoped and coloured output
  • SSH runner uses streamed and buffered modes for efficiency
  • Docker command outputs are parsed to detect failures cleanly

Tags

  • v2.0.0: Latest release
  • v2: Stable major version tag for production use

For details, see the README
Found an issue or want to suggest something? Open a discussion