Safeguard durable-functions v4 preview publishing - #349
Closed
wangbill (YunchuWang) wants to merge 1 commit into
Closed
Safeguard durable-functions v4 preview publishing#349wangbill (YunchuWang) wants to merge 1 commit into
wangbill (YunchuWang) wants to merge 1 commit into
Conversation
Use ESRP Release v12 for the durable-functions job, preserve preview-v<major> across prerelease preparation, remove it for GA, and document and test the Functions-only release flow.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the durable-functions (Azure Functions Durable provider) release tooling and docs to ensure v4 prereleases publish to a major-specific npm dist-tag (e.g., preview-v4) without moving npm’s latest tag away from the stable v3 line.
Changes:
- Upgrades the
durable-functionsESRP release job toEsrpRelease@12to support inferring the npm dist-tag frompublishConfig.tag. - Updates the Prepare Release workflow to set/clear
publishConfig.tagfordurable-functionsand to emit the correct manual fallbacknpm publish --tag ...command. - Adds package-scoped documentation and a unit test to enforce the prerelease/GA metadata lifecycle.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/azure-functions-durable/test/unit/release-metadata.spec.ts | Adds a regression test to enforce publishConfig.tag usage for prerelease vs GA. |
| packages/azure-functions-durable/README.md | Documents installing v4 prereleases via preview-v4. |
| packages/azure-functions-durable/CHANGELOG.md | Notes the new prerelease channel policy for v4. |
| eng/ci/release.yml | Upgrades only the durable-functions ESRP task version to v12. |
| doc/release_process.md | Updates release guidance to reflect major-specific preview tags and ESRP v12 behavior. |
| .github/workflows/prepare-release.yaml | Sets/removes publishConfig.tag for durable-functions and adjusts fallback dist-tag output. |
Comment on lines
+1
to
+2
| import { readFileSync } from "node:fs"; | ||
| import { join } from "node:path"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
What changed?
durable-functionsESRP release job to v12 so it can infer the npm dist-tag from the package'spublishConfig.tagmetadata.durable-functionsprereleases on a major-specificpreview-v<major>channel and remove that channel metadata for stable releases.Why is this change needed?
durable-functions@4.0.0-beta.1must be opt-in. Publishing it without an explicit non-latestdist-tag would make an unqualifiednpm install durable-functionsresolve v4 instead of the stable v3 line. The existing genericpreviewtag already points to a v3 alpha, so v4 usespreview-v4.Current EngHub ESRP guidance says the current
EsrpRelease@12task infers npm tags frompublishConfig.tag: https://eng.ms/docs/microsoft-security/identity/trust-and-security-services/tss-release-distribute/tss-release-esrp-parent/oss-publishing/releasing-open-source/npmjsIssues / work items
durable-functions@4.0.0— Azure Functions Durable provider on the gRPC core (+ core host helpers, E2E CI, and release pipeline) #282Project checklist
CHANGELOG.mdlatestchannel is unchanged.durable-functions@preview-v4or pindurable-functions@4.0.0-beta.1.AI-assisted code disclosure (required)
Was an AI tool used? (select one)
If AI was used:
durable-functions, and selected the major-specificpreview-v4policy.AI verification (required if AI was used):
Testing
Automated tests
durable-functions: 19 suites, 153 tests. Repository ESLint also passed.Manual validation (only if runtime/behavior changed)
durable-functionsworkspace.package/package.jsoninsidedurable-functions-4.0.0-beta.1.tgz.name=durable-functions,version=4.0.0-beta.1, andpublishConfig.tag=preview-v4.Notes for reviewers
durable-functions; the two@microsoftrelease jobs remain on ESRP v9.durable-functions-v4.0.0-beta.1Git tag points to the final merged release commit. ESRP v12 publishes immediately, so inspect the signed.tgzbefore queueing the release.