AWS Lambda · Arazzo Workflow
AWS Lambda Ship New Code and Cut an Immutable Version
Version 1.0.0
Upload new function code, wait for the update to settle, smoke-test $LATEST, and publish an immutable version guarded by the code hash.
Provider
Workflows
update-code-publish-version
Update function code, verify it, and publish a hash-guarded immutable version.
Pushes a new deployment package to the unpublished $LATEST version, waits for the update to complete, invokes it once as a smoke test, and publishes a numbered version pinned to the exact code hash that was tested.
1
uploadNewCode
updateFunctionCode
Replace the code of the unpublished $LATEST version with the new package. Publish is false because the version is only cut after the smoke test passes, and DryRun is false so the code is actually written.
2
waitForUpdate
getFunctionConfiguration
Poll the configuration until LastUpdateStatus reports "Successful". Until then Lambda is still provisioning the new code and a published version would snapshot the previous package.
3
smokeTest
invoke
Invoke the unpublished $LATEST version synchronously to confirm the new code actually runs before it is frozen into a version. Qualifier is deliberately omitted: with no qualifier Lambda invokes $LATEST, which is exactly the code that was just uploaded.
4
publishTheVersion
publishVersion
Publish an immutable version. CodeSha256 is passed as a guard: Lambda publishes only if the current code hash still matches the package that was just uploaded and tested, so a concurrent deploy cannot be snapshotted by accident.