Skip to content

Dockerfile#5

Merged
mosquito merged 9 commits into
masterfrom
dockerfile
May 13, 2026
Merged

Dockerfile#5
mosquito merged 9 commits into
masterfrom
dockerfile

Conversation

@mosquito
Copy link
Copy Markdown
Collaborator

This pull request introduces several new features and improvements to the CLI, focusing on enhanced Dockerfile build support, improved file management, and expanded operation monitoring. The most significant changes are the addition of a build command for Dockerfile-based image creation, a new file ls command for listing uploaded files with local source tracking, and new operation commands for managing and monitoring background tasks. Documentation and CLI help texts have been updated to reflect these enhancements.

New Features and Major Additions

  • Dockerfile Build Command

    • Introduced a new build command (contree build) that builds images from Dockerfiles, supports common Dockerfile directives, layer caching, build arguments, tagging, and cache bypassing. Also includes parser, argument handling, and error management. [1] [2] [3] [4]
    • Updated documentation and CLI help to describe the new build workflow and its options. [1] [2] [3]
  • File Management Enhancements

    • Added a new file ls command to list uploaded files, join with the local cache to show the file's source (host path or URL), and support filtering by time, limiting output, and quiet mode for scripting. [1] [2] [3] [4] [5]
    • Improved file deduplication by switching to a more efficient server lookup endpoint.
  • Operation Monitoring and Management

    • Introduced new operation (op) commands: op ls, op show, and op cancel, allowing batch inspection and cancellation of background operations. Updated docs and CLI help to reflect new patterns for managing detached runs. [1] [2] [3] [4] [5]

Improvements and Refactoring

  • Image Listing Output

    • Refactored image listing to output all fields (except nested objects), normalize the created_at and tag fields, and improve compatibility with the formatter.
  • Documentation and Help Updates

    • Updated CLI documentation and help texts throughout to reflect new commands, aliases, and usage patterns, making features more discoverable and user-friendly. [1] [2] [3] [4]

These changes significantly enhance the usability and capabilities of the CLI, especially for workflows involving Dockerfile-based builds, file tracking, and batch operation management.

@insomnes
Copy link
Copy Markdown
Collaborator

ARG APP_HOME=/opt/streamforge
ENV APP_HOME=${APP_HOME}

is not working

mosquito added 2 commits May 13, 2026 13:42
complete_mapped_file split on ':' first, which consumed the drive-letter
colon (C:\...) as the host/instance separator on Windows and never
reached the host-path branch. Peel the drive off first with
os.path.splitdrive, matching MappedFile.parse, so segment-0 completion
works on Windows.

Fixes the failing test_initial_host_path test on Python 3.10-3.13 on
windows-latest.
ARG B=${A} stored the literal "${A}" instead of expanding against
previously declared ARGs and ENVs, so an ENV/RUN that referenced $B
saw "${A}" verbatim. Match Docker BuildKit semantics by running the
default through ctx.substitute at execute time.

Also adds a regression test for the reported pattern:
  ARG APP_HOME=/opt/streamforge
  ENV APP_HOME=${APP_HOME}
which already worked but was uncovered, plus the broken-until-now
ARG-default-referencing-earlier-ARG case.
@mosquito mosquito merged commit 21656b1 into master May 13, 2026
20 checks passed
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