From 31545967a07aee4db8edf46f3bc344e40b4e24d3 Mon Sep 17 00:00:00 2001 From: "promptless[bot]" Date: Thu, 16 Apr 2026 18:23:00 +0000 Subject: [PATCH] Document rolling releases for code-only deploys Add documentation explaining that code-only changes now trigger rolling releases via source fingerprinting. Updated: - flash/cli/deploy.mdx: New section on rolling releases - flash/cli/build.mdx: Source fingerprinting step in build process - flash/apps/deploy-apps.mdx: Brief note on code change detection --- flash/apps/deploy-apps.mdx | 2 ++ flash/cli/build.mdx | 5 +++-- flash/cli/deploy.mdx | 8 ++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/flash/apps/deploy-apps.mdx b/flash/apps/deploy-apps.mdx index 1e33981d..d3abcb0e 100644 --- a/flash/apps/deploy-apps.mdx +++ b/flash/apps/deploy-apps.mdx @@ -20,6 +20,8 @@ This command performs the following steps: 3. **Provision**: Creates or updates Serverless endpoints. 4. **Configure**: Sets up environment variables and service discovery. +When you deploy updates to an existing application, Flash automatically triggers a rolling release if your source code has changed. Flash computes a fingerprint of your source files during build, so code-only changes (without resource configuration changes) still result in updated endpoints. + ### Deployment architecture Flash deploys your application as multiple independent Serverless endpoints. Each endpoint configuration in your worker files becomes a separate endpoint. diff --git a/flash/cli/build.mdx b/flash/cli/build.mdx index f9fa4330..34c3f6c1 100644 --- a/flash/cli/build.mdx +++ b/flash/cli/build.mdx @@ -49,8 +49,9 @@ Comma-separated list of packages to exclude from the build (e.g., `torch,torchvi 2. **Function discovery**: Finds all `@Endpoint` decorated functions. 3. **Grouping**: Groups functions by their endpoint configuration. 4. **Manifest generation**: Creates `.flash/flash_manifest.json` with endpoint definitions. -5. **Dependency installation**: Installs Python packages for Linux x86_64. -6. **Packaging**: Bundles everything into `.flash/artifact.tar.gz`. +5. **Source fingerprinting**: Computes a SHA-256 fingerprint of your source files to detect code changes between deployments. +6. **Dependency installation**: Installs Python packages for Linux x86_64. +7. **Packaging**: Bundles everything into `.flash/artifact.tar.gz`. ## Built-in ignore patterns diff --git a/flash/cli/deploy.mdx b/flash/cli/deploy.mdx index 41c87d86..d91ec2f9 100644 --- a/flash/cli/deploy.mdx +++ b/flash/cli/deploy.mdx @@ -69,6 +69,14 @@ Build and launch a local Docker-based preview environment instead of deploying t 4. **Provisioning**: Creates or updates Serverless endpoints. 5. **Configuration**: Sets up environment variables and service discovery. +## Rolling releases for code changes + +When you run `flash deploy` on an already-deployed application, Flash compares your current build against the previous deployment to determine what needs updating. + +Flash triggers a rolling release when your source code changes, even if your resource configuration stays the same. During the build phase, Flash computes a fingerprint of your source files. If this fingerprint differs from the previous deployment, Flash treats it as a configuration change and initiates a rolling update to your endpoints. + +This means you can iterate on your code without modifying resource configurations like GPU types or worker counts. Run `flash deploy` after making code changes, and Flash rolls out the updated code to your endpoints. + ## Architecture After deployment, your Flash app runs as independent Serverless endpoints on Runpod: