Skip to content

Conversation

@Francisco-Gamino
Copy link
Contributor

@Francisco-Gamino Francisco-Gamino commented Dec 22, 2022

Issue describing the changes in this PR

This PR contains the following changes:

  • Resolves Create PowerShell 7.4 language worker #850
  • After this PR is merged, by default, the dev branch will build the PowerShell 7.4 language worker. Changes that are applicable to the PowerShell 7.2 language worker will need to be cherry-picked from the dev to the v4.x/ps7.2 branch
  • Reset release build counter to start at 001, so the nuget package name and version will be follows:
    Microsoft.Azure.Functions.PowerShellWorker.PS7.4, version 4.0.001
  • In PowerShell 7.4 ConvertFromJson returns an ordered hashtable instead of a hashtable. This is a breaking change in the PowerShell language worker (Please see [PowerShell 7.4 Breaking Change] Document case-sensitivity breaking change #909 for more information).
    In addition, in previous versions of the language worker, we had logic to try to create a case-insensitive hashtable from the output ConvertFromJson. For PowerShell 7.4 language worker, we are removing this logic and just returning the output of ConvertFromJson. However, for the DurableClient, we will continue to create the case-insensitive hashtable, so that we can call into the cmdlets of the Microsoft.Azure.Functions.PowerShellWorker.psm1 module without having to worry about the casing.

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

Additional information

Additional PR information

@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch 3 times, most recently from 9c6fa8c to 93deda1 Compare December 22, 2022 18:55
@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from 93deda1 to 3a24303 Compare January 7, 2023 04:38
@Francisco-Gamino Francisco-Gamino changed the title [EXPERIMENTAL - DO NOT MERGE] Upgrade to PowerShell 7.4 Upgrade to PowerShell 7.4 Jan 7, 2023
Copy link
Contributor

@michaelpeng36 michaelpeng36 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A minor change requested for the README.md and a clarifying question

@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from 96a40af to 5627df6 Compare January 10, 2023 00:52
Copy link
Contributor

@michaelpeng36 michaelpeng36 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Francisco-Gamino
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@AnatoliB AnatoliB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from ac94ce8 to b14fe2f Compare January 26, 2023 03:23
@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from b14fe2f to d185932 Compare January 26, 2023 03:26
@Francisco-Gamino
Copy link
Contributor Author

@AnatoliB / @michaelpeng36 / @davidmrdavid -- I have updated the PR description with all the changes for the PowerShell 7.4 language worker. Could you please take another look? Thank you.

@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from d185932 to 70421e3 Compare January 26, 2023 04:42
@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from 70421e3 to 894ab06 Compare January 26, 2023 04:47
Copy link
Contributor

@davidmrdavid davidmrdavid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just left a suggestion on naming

@AnatoliB
Copy link
Contributor

LGTM

Copy link
Contributor

@davidmrdavid davidmrdavid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM after reviewing updates as well

@Francisco-Gamino Francisco-Gamino force-pushed the Francisco-Gamino/add-ps74-worker branch from b6d2720 to f5ea212 Compare January 30, 2023 19:18
@Francisco-Gamino Francisco-Gamino merged commit 7f52b1f into dev Jan 30, 2023
Francisco-Gamino added a commit that referenced this pull request Mar 27, 2023
* Upgrade to PowerShell SDK 7.4.0-preview.1

* Upgrade to .NET SDK 7.0

* Update README.md to target net7.0 and PowerShell 7.4

* Upgrade TargetFramework to net7.0

* Update tests: Convertfrom-Json returns an ordered hashtable

* Reset build counter for PowerShell 7.4

* Update package id to Microsoft.Azure.Functions.PowerShellWorker.PS7.4

* Add PowerShell 7.4 to the list of supported versions

* Update E2E tests to target PowerShell 7.4

* Remove logic to create case-insensitive hashtable from the ConvertFromJson output

* Update tests

* Add support to update the PowerShell 7.2 and 7.4 language workers in the Core Tools

* Try to create a case insensitive Hashtable for the DurableClient when deserializing JSON

* Update ConvertFromJson logic for Durable client

* Add test case to validate TypedDataToCaseInsensitiveHashtable deserialization

* Update build.ps1 logging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create PowerShell 7.4 language worker

5 participants