Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion eng/ci/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ extends:
os: linux

stages:
- stage: release
- stage: release_durabletask_js
displayName: 'Release @microsoft/durabletask-js'
jobs:
- job: durabletask_js
displayName: 'Release @microsoft/durabletask-js'
Expand Down Expand Up @@ -54,6 +55,20 @@ extends:
mainpublisher: 'durabletask-java'
domaintenantid: '33e01921-4d64-4f8c-a055-5bdaffd5e33d'

- stage: release_durabletask_js_azuremanaged
displayName: 'Release @microsoft/durabletask-js-azuremanaged'
# Publish the core durabletask-js stage before this dependent package so its
# "@microsoft/durabletask-js" dependency resolves against the just-published core.
# This depends on the core stage only, not on the other provider stage (they are
# siblings, mirroring durabletask-python). ADO's default stage condition requires the
# core stage to have completed and succeeded, so a de-selected (Skipped) core would
# otherwise skip this stage too; the explicit condition below also accepts a Skipped
# core, which is what lets this package release on its own when core is de-selected at
# queue time. It deliberately does NOT accept Failed or Canceled, so a real core publish
# failure still blocks this stage and the publish ordering is preserved.
dependsOn: release_durabletask_js
condition: in(dependencies.release_durabletask_js.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
jobs:
- job: durabletask_js_azuremanaged
displayName: 'Release @microsoft/durabletask-js-azuremanaged'
templateContext:
Expand Down Expand Up @@ -85,6 +100,21 @@ extends:
mainpublisher: 'durabletask-java'
domaintenantid: '33e01921-4d64-4f8c-a055-5bdaffd5e33d'

- stage: release_durable_functions
displayName: 'Release durable-functions'
# Publish the core durabletask-js stage before this dependent package: durable-functions
# pins "@microsoft/durabletask-js" to an EXACT version, so core must be on the registry
# first or the published package is uninstallable. This depends on the core stage only,
# not on the azuremanaged stage (they are siblings, mirroring durabletask-python). ADO's
# default stage condition requires the core stage to have completed and succeeded, so a
# de-selected (Skipped) core would otherwise skip this stage too; the explicit condition
# below also accepts a Skipped core, which is what lets durable-functions release on its
# own when core is de-selected at queue time. It deliberately does NOT accept Failed or
# Canceled, so if the core publish actually fails this stage still will not run and the
# exact-pin ordering guarantee holds.
dependsOn: release_durabletask_js
condition: in(dependencies.release_durabletask_js.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
jobs:
- job: durable_functions
displayName: 'Release durable-functions'
templateContext:
Expand Down
2 changes: 1 addition & 1 deletion eng/templates/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- checkout: self
- task: NodeTool@0
inputs:
versionSpec: 20.x
versionSpec: 22.x
displayName: "Install Node.js"

- script: node scripts/setupNpmrc.js
Expand Down
Loading