From 21d5b760d98ca3900e8c2a53d744f3312d3a3319 Mon Sep 17 00:00:00 2001 From: Pandelis Zembashis Date: Thu, 1 Oct 2026 16:47:28 -0700 Subject: [PATCH] docs: focus dependency disk guidance on Composal usage --- README.md | 32 +++++++++++--------------------- action.yml | 2 +- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 6cd820a..2859f51 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Composal Disk Volume -Persist dependency directories across ephemeral Composal GitHub runners with -Modal Volumes v2. Both `composal-x64-2x` and `composal-x64-4x` use the same +Persist dependency directories across Composal GitHub Actions jobs. +Both `composal-x64-2x` and `composal-x64-4x` use the same repository-scoped storage. ```yaml @@ -26,29 +26,19 @@ keys for package download stores (`~/.npm`, a pnpm store, Cargo registry/git caches); package managers check the package versions and integrity. Use distinct keys for incompatible platforms or toolchains. -Each VM extracts trusted snapshots into private directories on its local disk, -so package managers and tests read local files. Concurrent jobs never share a -live directory. The action's post step archives its directory to the job's -private Modal Volume namespace. After the VM stops, Composal verifies the job's actual GitHub assignment: -only successful `push`, `schedule`, or `workflow_dispatch` jobs on the -repository's default branch can publish a new snapshot. Pull requests and other -branches can restore and modify their private clone, but their writes are -removed. When trusted jobs publish the same key concurrently, the last completed -publication becomes the snapshot for future VMs; changes are not merged. - -No Modal credentials or additional GitHub workflow permissions are needed. -This action requires Linux Composal runners and host jobs. Container jobs are -not supported in v1. The path must be empty and must not traverse a symlink; -existing files are never hidden or replaced. Do not use this action to mount -Docker's overlay storage; this is a persisted dependency directory, not an -ext4 block device. Keep deployment artifacts and irreplaceable data elsewhere. +Each job restores its own copy of a trusted snapshot. Concurrent jobs never +share a live directory. Only successful `push`, `schedule`, or +`workflow_dispatch` jobs on the repository's default branch publish an updated +snapshot. Pull requests and other branches can restore and modify their copy, +but their changes are discarded. When trusted jobs publish the same key +concurrently, the last completed publication becomes the snapshot for future +jobs; changes are not merged. Limits: five disk mounts per job, 32 keys and 10 GiB of published data per repository. Snapshots unused for seven days are not restored. Superseded snapshots are removed after seven days and abandoned job clones after a day. Current snapshot metadata remains reserved until the key is reused; this first -release has no user-facing disk deletion interface. Modal Volumes v2 is beta. +release has no user-facing disk deletion interface. Dependency disks are opt-in. Ordinary `actions/cache` and language setup actions -continue using GitHub's cache backend; bucket-backed Actions archive caching is -a separate integration. +continue using GitHub's cache backend. diff --git a/action.yml b/action.yml index f882f23..477c731 100644 --- a/action.yml +++ b/action.yml @@ -1,5 +1,5 @@ name: Composal Disk Volume -description: Mount an isolated dependency directory backed by a Modal Volume on Composal runners. +description: Persist dependency directories across Composal GitHub Actions jobs. author: ComposalAI inputs: key: