- Update
RESTATE_DOCKER_DEFAULT_TAG/RESTATE_NPM_DEFAULT_TAGif needed - Create and publish a new release in GitHub
- Use tag format
vX.Y.Z(e.g.,v1.6.0) - Mark as pre-release if appropriate (will publish with
--tag nextinstead of--tag latest)
- Use tag format
- The
publish.ymlworkflow will automatically:- Extract the version from the tag
- Update
package.jsonand commit to main - Run tests
- Publish to npm with provenance attestation
This repository uses npm trusted publishing with OpenID Connect (OIDC) for secure, token-free releases. The workflow authenticates directly with npm using GitHub's OIDC provider.
Configuration on npmjs.com:
- Owner:
restatedev - Repository:
cdk - Workflow:
publish.yml - Environment: (blank)
If the trusted publisher configuration is lost, reconfigure it at: https://www.npmjs.com/package/@restatedev/restate-cdk/access
Snapshots are automatically published on every push to main with:
- Version:
X.Y.Z-SNAPSHOT-YYYYMMDDHHmmss(based on package.json version) - Tag:
dev
To install a snapshot: npm install @restatedev/restate-cdk@dev
Before releasing a CDK update for a new Restate major/minor version:
-
Review release notes for breaking changes, deprecated config options, or new defaults:
- Check
restate/release-notes/unreleased/*.mdfor upcoming changes - Look for removed/renamed configuration options that the CDK might be setting
- Verify CDK defaults (e.g.,
rocksdb-total-memory-size,query-engine.memory-size) make sense for small dev/test deployments
- Check
-
Update version tags in:
lib/restate-constructs/single-node-restate-deployment.ts:RESTATE_DOCKER_DEFAULT_TAG,RESTATE_NPM_DEFAULT_TAGlib/restate-constructs/fargate-restate-deployment.ts:RESTATE_DOCKER_DEFAULT_TAG
-
Run e2e tests against an RC build before release:
# Note the hardcoded main image reference in test/e2e/stacks/ec2-simple-stack.ts # You might need to temporarily use a pre-release tag (e.g., 1.6.0-rc.5) # Build and run single-node e2e test npm run build && npx tsx test/handlers/build.mts RETAIN_STACK=true npx jest --config jest.config.e2e.js --testNamePattern "Single Node" # Inspect the deployment if needed, then clean up aws cloudformation delete-stack --stack-name e2e-RestateSingleNode
-
Update snapshots after finalizing version tags:
npm test -- --updateSnapshot