From 8a457e531897462c91e022e3b8be69430a85f7c2 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Thu, 29 Jan 2026 17:41:34 -0800 Subject: [PATCH 01/35] impl --- .github/workflows/build-js-steps.yml | 6 +++- .github/workflows/foundry-local-sdk-build.yml | 32 +++++++++++++++++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index cafd7b5..74e9463 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -10,13 +10,17 @@ on: required: false type: boolean default: false + platform: + required: false + type: string + default: 'windows' # or 'macos' or 'ubuntu' permissions: contents: read jobs: build: - runs-on: windows-latest + runs-on: ${{ inputs.platform }}-latest steps: - name: Checkout repository diff --git a/.github/workflows/foundry-local-sdk-build.yml b/.github/workflows/foundry-local-sdk-build.yml index 5ad4aeb..0822aea 100644 --- a/.github/workflows/foundry-local-sdk-build.yml +++ b/.github/workflows/foundry-local-sdk-build.yml @@ -17,13 +17,41 @@ permissions: contents: read jobs: - build-cs: + build-cs-windows: uses: ./.github/workflows/build-cs-steps.yml with: version: '0.9.0.${{ github.run_number }}' + platform: 'windows' secrets: inherit - build-js: + build-js-windows: uses: ./.github/workflows/build-js-steps.yml with: version: '0.9.0.${{ github.run_number }}' + platform: 'windows' secrets: inherit + + build-cs-macos: + uses: ./.github/workflows/build-cs-steps.yml + with: + version: '0.9.0.${{ github.run_number }}' + platform: 'macos' + secrets: inherit + build-js-macos: + uses: ./.github/workflows/build-js-steps.yml + with: + version: '0.9.0.${{ github.run_number }}' + platform: 'macos' + secrets: inherit + + build-cs-linux: + uses: ./.github/workflows/build-cs-steps.yml + with: + version: '0.9.0.${{ github.run_number }}' + platform: 'ubuntu' + secrets: inherit + build-js-linux: + uses: ./.github/workflows/build-js-steps.yml + with: + version: '0.9.0.${{ github.run_number }}' + platform: 'ubuntu' + secrets: inherit \ No newline at end of file From c1e1bb027cb13f038e7dc5972326bf1d4a4deeae Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Thu, 29 Jan 2026 17:43:48 -0800 Subject: [PATCH 02/35] comment --- .github/workflows/build-js-steps.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 74e9463..b95b665 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -20,6 +20,7 @@ permissions: jobs: build: + # https://github.com/actions/runner-images?tab=readme-ov-file#available-images runs-on: ${{ inputs.platform }}-latest steps: From 58e267b5fb4c5848ce554259aff4a1813323a265 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Thu, 29 Jan 2026 17:56:11 -0800 Subject: [PATCH 03/35] cs steps --- .github/workflows/build-cs-steps.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 20d4886..afc2eee 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -14,13 +14,17 @@ on: required: false type: string default: 'Debug' # or 'Release' + platform: + required: false + type: string + default: 'windows' # or 'macos' or 'ubuntu' permissions: contents: read jobs: build: - runs-on: windows-latest + runs-on: ${{ inputs.platform }}-latest env: buildConfiguration: 'Debug' From f9ce21bf8f5a95693c88dd49bd9cc93774477596 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Thu, 29 Jan 2026 17:56:52 -0800 Subject: [PATCH 04/35] housekeeping --- .github/workflows/foundry-local-sdk-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/foundry-local-sdk-build.yml b/.github/workflows/foundry-local-sdk-build.yml index 0822aea..f034e09 100644 --- a/.github/workflows/foundry-local-sdk-build.yml +++ b/.github/workflows/foundry-local-sdk-build.yml @@ -4,11 +4,11 @@ on: pull_request: paths: - 'sdk_v2/**' - - '.github/workflows/sdk_v2/**' + - '.github/workflows/**' push: paths: - 'sdk_v2/**' - - '.github/workflows/sdk_v2/**' + - '.github/workflows/**' branches: - main workflow_dispatch: From 7dc48b744ca0676f4e0ba9e9a89dec79202ae198 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Thu, 29 Jan 2026 18:04:07 -0800 Subject: [PATCH 05/35] \ to / --- .github/workflows/build-cs-steps.yml | 20 ++++++++++---------- .github/workflows/build-js-steps.yml | 24 ++++++++++++------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index afc2eee..57805b3 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -44,16 +44,16 @@ jobs: # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies run: | - dotnet restore sdk_v2\cs\src\Microsoft.AI.Foundry.Local.csproj /p:UseWinML=${{ inputs.useWinML }} /p:FoundryLocalCoreVersion="*-*" --configfile sdk_v2\cs\NuGet.config + dotnet restore sdk_v2/cs/src/Microsoft.AI.Foundry.Local.csproj /p:UseWinML=${{ inputs.useWinML }} /p:FoundryLocalCoreVersion="*-*" --configfile sdk_v2/cs/NuGet.config - name: Build solution run: | - dotnet build sdk_v2\cs\src\Microsoft.AI.Foundry.Local.csproj --no-restore --configuration ${{ inputs.buildConfiguration }} /p:UseWinML=${{ inputs.useWinML }} /p:FoundryLocalCoreVersion="*-*" + dotnet build sdk_v2/cs/src/Microsoft.AI.Foundry.Local.csproj --no-restore --configuration ${{ inputs.buildConfiguration }} /p:UseWinML=${{ inputs.useWinML }} /p:FoundryLocalCoreVersion="*-*" # need to use direct git commands to clone from Azure DevOps instead of actions/checkout - name: Checkout test-data-shared from Azure DevOps shell: pwsh - working-directory: ${{ github.workspace }}\.. + working-directory: ${{ github.workspace }}/.. run: | $pat = "${{ secrets.AZURE_DEVOPS_PAT }}" $encodedPat = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat")) @@ -65,11 +65,11 @@ jobs: git lfs install git clone --depth 1 https://dev.azure.com/microsoft/windows.ai.toolkit/_git/test-data-shared test-data-shared - Write-Host "Clone completed successfully to ${{ github.workspace }}\..\test-data-shared" + Write-Host "Clone completed successfully to ${{ github.workspace }}/../test-data-shared" - name: Checkout specific commit in test-data-shared shell: pwsh - working-directory: ${{ github.workspace }}\..\test-data-shared + working-directory: ${{ github.workspace }}/../test-data-shared run: | Write-Host "Current directory: $(Get-Location)" git checkout 231f820fe285145b7ea4a449b112c1228ce66a41 @@ -82,13 +82,13 @@ jobs: - name: Run Foundry Local Core tests run: | - dotnet test sdk_v2\cs\test\FoundryLocal.Tests\Microsoft.AI.Foundry.Local.Tests.csproj --verbosity normal /p:UseWinML=${{ inputs.useWinML }} /p:FoundryLocalCoreVersion="*-*" + dotnet test sdk_v2/cs/test/FoundryLocal.Tests/Microsoft.AI.Foundry.Local.Tests.csproj --verbosity normal /p:UseWinML=${{ inputs.useWinML }} /p:FoundryLocalCoreVersion="*-*" - name: Pack NuGet package shell: pwsh run: | - $projectPath = "sdk_v2\cs\src\Microsoft.AI.Foundry.Local.csproj" - $outputDir = "sdk_v2\cs\bin" + $projectPath = "sdk_v2/cs/src/Microsoft.AI.Foundry.Local.csproj" + $outputDir = "sdk_v2/cs/bin" $version = "${{ inputs.version }}" $config = "${{ inputs.buildConfiguration }}" $useWinML = "${{ inputs.useWinML }}" @@ -123,5 +123,5 @@ jobs: with: name: cs-sdk path: | - sdk_v2\cs\bin\*.nupkg - sdk_v2\cs\bin\*.snupkg \ No newline at end of file + sdk_v2/cs/bin/*.nupkg + sdk_v2/cs/bin/*.snupkg \ No newline at end of file diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index b95b665..da33cfe 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -57,7 +57,7 @@ jobs: # need to use direct git commands to clone from Azure DevOps instead of actions/checkout - name: Checkout test-data-shared from Azure DevOps shell: pwsh - working-directory: ${{ github.workspace }}\.. + working-directory: ${{ github.workspace }}/.. run: | $pat = "${{ secrets.AZURE_DEVOPS_PAT }}" $encodedPat = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat")) @@ -69,11 +69,11 @@ jobs: git lfs install git clone --depth 1 https://dev.azure.com/microsoft/windows.ai.toolkit/_git/test-data-shared test-data-shared - Write-Host "Clone completed successfully to ${{ github.workspace }}\..\test-data-shared" + Write-Host "Clone completed successfully to ${{ github.workspace }}/../test-data-shared" - name: Checkout specific commit in test-data-shared shell: pwsh - working-directory: ${{ github.workspace }}\..\test-data-shared + working-directory: ${{ github.workspace }}/../test-data-shared run: | Write-Host "Current directory: $(Get-Location)" git checkout 231f820fe285145b7ea4a449b112c1228ce66a41 @@ -87,39 +87,39 @@ jobs: - name: npm install (WinML) if: ${{ inputs.useWinML == true }} - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm install --winml - name: npm install (Standard) if: ${{ inputs.useWinML == false }} - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm install --nightly # Verify that installing new packages doesn't strip custom native binary folders - name: npm install openai (verify persistence) - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm install openai - name: Set package version - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm version ${{ env.ProjectVersion }} --no-git-tag-version --allow-same-version - name: Run tests - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm test - name: Build package - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm run build - name: Pack npm package - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: npm pack - name: Rename WinML artifact if: ${{ inputs.useWinML == true }} shell: pwsh - working-directory: sdk_v2\js + working-directory: sdk_v2/js run: | $tgz = Get-ChildItem *.tgz | Select-Object -First 1 if ($tgz) { @@ -132,4 +132,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: js-sdk - path: sdk_v2\js\*.tgz + path: sdk_v2/js/*.tgz From fe50c031fc68f778f91d5335bbc74b32ca0ea6cc Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Thu, 29 Jan 2026 19:18:38 -0800 Subject: [PATCH 06/35] fix naming conflict --- .github/workflows/build-cs-steps.yml | 2 +- .github/workflows/build-js-steps.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 57805b3..45cf993 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -121,7 +121,7 @@ jobs: - name: Upload NuGet packages uses: actions/upload-artifact@v4 with: - name: cs-sdk + name: cs-sdk-${{ inputs.platform }} path: | sdk_v2/cs/bin/*.nupkg sdk_v2/cs/bin/*.snupkg \ No newline at end of file diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index da33cfe..673a061 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -131,5 +131,5 @@ jobs: - name: Upload npm packages uses: actions/upload-artifact@v4 with: - name: js-sdk + name: js-sdk-${{ inputs.platform }} path: sdk_v2/js/*.tgz From d44d6af4bd08eb13300aa6ac20355bc65912138c Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 09:08:58 -0800 Subject: [PATCH 07/35] rmv linux for now --- .github/workflows/foundry-local-sdk-build.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/foundry-local-sdk-build.yml b/.github/workflows/foundry-local-sdk-build.yml index f034e09..5132381 100644 --- a/.github/workflows/foundry-local-sdk-build.yml +++ b/.github/workflows/foundry-local-sdk-build.yml @@ -41,17 +41,4 @@ jobs: with: version: '0.9.0.${{ github.run_number }}' platform: 'macos' - secrets: inherit - - build-cs-linux: - uses: ./.github/workflows/build-cs-steps.yml - with: - version: '0.9.0.${{ github.run_number }}' - platform: 'ubuntu' - secrets: inherit - build-js-linux: - uses: ./.github/workflows/build-js-steps.yml - with: - version: '0.9.0.${{ github.run_number }}' - platform: 'ubuntu' secrets: inherit \ No newline at end of file From f48ebdb84837ff12a580698f7f6e54ad8c71b722 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 09:09:23 -0800 Subject: [PATCH 08/35] impl --- .github/workflows/foundry-local-sdk-build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/foundry-local-sdk-build.yml b/.github/workflows/foundry-local-sdk-build.yml index 5132381..f034e09 100644 --- a/.github/workflows/foundry-local-sdk-build.yml +++ b/.github/workflows/foundry-local-sdk-build.yml @@ -41,4 +41,17 @@ jobs: with: version: '0.9.0.${{ github.run_number }}' platform: 'macos' + secrets: inherit + + build-cs-linux: + uses: ./.github/workflows/build-cs-steps.yml + with: + version: '0.9.0.${{ github.run_number }}' + platform: 'ubuntu' + secrets: inherit + build-js-linux: + uses: ./.github/workflows/build-js-steps.yml + with: + version: '0.9.0.${{ github.run_number }}' + platform: 'ubuntu' secrets: inherit \ No newline at end of file From 17a1c65fe0bf9cf2e5c0084eecc445d6241d7566 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 10:10:15 -0800 Subject: [PATCH 09/35] lib fix --- sdk_v2/js/script/install.cjs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sdk_v2/js/script/install.cjs b/sdk_v2/js/script/install.cjs index d175798..46f1b3c 100644 --- a/sdk_v2/js/script/install.cjs +++ b/sdk_v2/js/script/install.cjs @@ -34,7 +34,11 @@ const REQUIRED_FILES = [ 'Microsoft.AI.Foundry.Local.Core.dll', 'onnxruntime.dll', 'onnxruntime-genai.dll', -].map(f => f.replace('.dll', os.platform() === 'win32' ? '.dll' : os.platform() === 'darwin' ? '.dylib' : '.so')); +].map(f => { + if (os.platform() === 'win32') return f; + const name = f.replace('.dll', os.platform() === 'darwin' ? '.dylib' : '.so'); + return f.startsWith('onnxruntime') ? `lib${name}` : name; +}); // When you run npm install --winml, npm does not pass --winml as a command-line argument to your script. // Instead, it sets an environment variable named npm_config_winml to 'true'. From b67448fe8c099cf05005d57e059b0a9c2e37a895 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 11:21:10 -0800 Subject: [PATCH 10/35] correct packages --- sdk_v2/js/package.json | 2 +- sdk_v2/js/script/install.cjs | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sdk_v2/js/package.json b/sdk_v2/js/package.json index 8f996a5..a18912b 100644 --- a/sdk_v2/js/package.json +++ b/sdk_v2/js/package.json @@ -1,6 +1,6 @@ { "name": "@prathikrao/foundry-local-sdk", - "version": "0.0.3", + "version": "0.0.10", "description": "Foundry Local JavaScript SDK", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/sdk_v2/js/script/install.cjs b/sdk_v2/js/script/install.cjs index 46f1b3c..d30b277 100644 --- a/sdk_v2/js/script/install.cjs +++ b/sdk_v2/js/script/install.cjs @@ -34,11 +34,7 @@ const REQUIRED_FILES = [ 'Microsoft.AI.Foundry.Local.Core.dll', 'onnxruntime.dll', 'onnxruntime-genai.dll', -].map(f => { - if (os.platform() === 'win32') return f; - const name = f.replace('.dll', os.platform() === 'darwin' ? '.dylib' : '.so'); - return f.startsWith('onnxruntime') ? `lib${name}` : name; -}); +].map(f => f.replace('.dll', os.platform() === 'win32' ? '.dll' : os.platform() === 'darwin' ? '.dylib' : '.so')); // When you run npm install --winml, npm does not pass --winml as a command-line argument to your script. // Instead, it sets an environment variable named npm_config_winml to 'true'. @@ -64,16 +60,16 @@ const ARTIFACTS = [ feed: CORE_FEED }, { - name: 'Microsoft.ML.OnnxRuntime.Foundry', - version: '1.23.2.1', // Hardcoded stable version + name: os.platform() === 'linux' ? 'Microsoft.ML.OnnxRuntime.Gpu.Linux' : 'Microsoft.ML.OnnxRuntime.Foundry', + version: os.platform() === 'linux' ? '1.23.2' : '1.23.2.1', // Hardcoded stable version files: ['onnxruntime'], - feed: ORT_NIGHTLY_FEED + feed: os.platform() === 'linux' ? NUGET_FEED : ORT_FEED }, { name: useWinML ? 'Microsoft.ML.OnnxRuntimeGenAI.WinML' : 'Microsoft.ML.OnnxRuntimeGenAI.Foundry', - version: '0.11.2', // Hardcoded stable version + version: '0.12.0', // Hardcoded stable version files: ['onnxruntime-genai'], - feed: NUGET_FEED + feed: ORT_NIGHTLY_FEED } ]; @@ -245,7 +241,11 @@ async function installPackage(artifact, tempDir) { let found = false; for (const fileBase of artifact.files) { - const fileName = `${fileBase}${ext}`; + let fileName = `${fileBase}${ext}`; + if (os.platform() !== 'win32' && fileBase.startsWith('onnxruntime')) { + fileName = `lib${fileName}`; + } + // Look for entry ending with fileName and containing runtimes/RID/native/ const entry = zipEntries.find(e => { const entryPathLower = e.entryName.toLowerCase(); From bacf157c939ac87c581c147efd9d27845f51a9a1 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 11:21:39 -0800 Subject: [PATCH 11/35] revert --- sdk_v2/js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_v2/js/package.json b/sdk_v2/js/package.json index a18912b..8f996a5 100644 --- a/sdk_v2/js/package.json +++ b/sdk_v2/js/package.json @@ -1,6 +1,6 @@ { "name": "@prathikrao/foundry-local-sdk", - "version": "0.0.10", + "version": "0.0.3", "description": "Foundry Local JavaScript SDK", "main": "dist/index.js", "types": "dist/index.d.ts", From 2b6193dbfaf03b05141c9c43e298c3f42bc3d376 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 11:22:16 -0800 Subject: [PATCH 12/35] revert revert --- sdk_v2/js/script/install.cjs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sdk_v2/js/script/install.cjs b/sdk_v2/js/script/install.cjs index d30b277..1a58228 100644 --- a/sdk_v2/js/script/install.cjs +++ b/sdk_v2/js/script/install.cjs @@ -241,10 +241,7 @@ async function installPackage(artifact, tempDir) { let found = false; for (const fileBase of artifact.files) { - let fileName = `${fileBase}${ext}`; - if (os.platform() !== 'win32' && fileBase.startsWith('onnxruntime')) { - fileName = `lib${fileName}`; - } + const fileName = `${fileBase}${ext}`; // Look for entry ending with fileName and containing runtimes/RID/native/ const entry = zipEntries.find(e => { From df95d41a631d3f87bf8b424658aef7cf74771dae Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 11:23:03 -0800 Subject: [PATCH 13/35] revert revert revert --- sdk_v2/js/script/install.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_v2/js/script/install.cjs b/sdk_v2/js/script/install.cjs index 1a58228..4c8ac18 100644 --- a/sdk_v2/js/script/install.cjs +++ b/sdk_v2/js/script/install.cjs @@ -63,7 +63,7 @@ const ARTIFACTS = [ name: os.platform() === 'linux' ? 'Microsoft.ML.OnnxRuntime.Gpu.Linux' : 'Microsoft.ML.OnnxRuntime.Foundry', version: os.platform() === 'linux' ? '1.23.2' : '1.23.2.1', // Hardcoded stable version files: ['onnxruntime'], - feed: os.platform() === 'linux' ? NUGET_FEED : ORT_FEED + feed: os.platform() === 'linux' ? NUGET_FEED : ORT_NIGHTLY_FEED }, { name: useWinML ? 'Microsoft.ML.OnnxRuntimeGenAI.WinML' : 'Microsoft.ML.OnnxRuntimeGenAI.Foundry', From f17247e85980d10f43d90d0eb4e7d78b7e192195 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 11:25:01 -0800 Subject: [PATCH 14/35] format --- sdk_v2/js/script/install.cjs | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk_v2/js/script/install.cjs b/sdk_v2/js/script/install.cjs index 4c8ac18..ff7a7a0 100644 --- a/sdk_v2/js/script/install.cjs +++ b/sdk_v2/js/script/install.cjs @@ -242,7 +242,6 @@ async function installPackage(artifact, tempDir) { let found = false; for (const fileBase of artifact.files) { const fileName = `${fileBase}${ext}`; - // Look for entry ending with fileName and containing runtimes/RID/native/ const entry = zipEntries.find(e => { const entryPathLower = e.entryName.toLowerCase(); From 57a838980c60a95ac96939c59112f8b8f6df6b04 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 13:47:20 -0800 Subject: [PATCH 15/35] dev genai --- sdk_v2/js/script/install.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_v2/js/script/install.cjs b/sdk_v2/js/script/install.cjs index ff7a7a0..1f40d74 100644 --- a/sdk_v2/js/script/install.cjs +++ b/sdk_v2/js/script/install.cjs @@ -67,7 +67,7 @@ const ARTIFACTS = [ }, { name: useWinML ? 'Microsoft.ML.OnnxRuntimeGenAI.WinML' : 'Microsoft.ML.OnnxRuntimeGenAI.Foundry', - version: '0.12.0', // Hardcoded stable version + version: '0.12.0-dev-20260130-1069610-180ed1ac', // Hardcoded dev version (until we upload 0.12.0 to ORT or NuGet) files: ['onnxruntime-genai'], feed: ORT_NIGHTLY_FEED } From d952977ed02af6549d2419d65fc00cc17f1819d1 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 14:11:04 -0800 Subject: [PATCH 16/35] openssl fix for linux --- .github/workflows/build-cs-steps.yml | 7 +++++++ .github/workflows/build-js-steps.yml | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 45cf993..7b1a3d8 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -34,6 +34,13 @@ jobs: with: clean: true + - name: Fix OpenSSL and Certificates on Linux + if: ${{ inputs.platform == 'ubuntu' }} + run: | + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl + sudo update-ca-certificates + - name: Setup .NET 9 SDK uses: actions/setup-dotnet@v5 with: diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 673a061..b0e461f 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -34,6 +34,13 @@ jobs: with: node-version: '20.x' + - name: Fix OpenSSL and Certificates on Linux + if: ${{ inputs.platform == 'ubuntu' }} + run: | + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl + sudo update-ca-certificates + # needed to download Foundry Local Core from Azure Artifacts - name: Setup .NET SDK for NuGet authentication uses: actions/setup-dotnet@v5 From 8e8f9559f056fb053effee08266b47822a6e701c Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 14:19:03 -0800 Subject: [PATCH 17/35] ssl --- .github/workflows/build-cs-steps.yml | 5 ++++- .github/workflows/build-js-steps.yml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 7b1a3d8..f44a68c 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -34,12 +34,15 @@ jobs: with: clean: true + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI caused by missing/misconfigured SSL roots when connecting to Azure. - name: Fix OpenSSL and Certificates on Linux if: ${{ inputs.platform == 'ubuntu' }} run: | sudo apt-get update - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl libssl-dev sudo update-ca-certificates + echo "SSL_CERT_DIR=/etc/ssl/certs" >> $GITHUB_ENV + echo "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt" >> $GITHUB_ENV - name: Setup .NET 9 SDK uses: actions/setup-dotnet@v5 diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index b0e461f..bcf6dfd 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -34,12 +34,15 @@ jobs: with: node-version: '20.x' + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI caused by missing/misconfigured SSL roots when connecting to Azure. - name: Fix OpenSSL and Certificates on Linux if: ${{ inputs.platform == 'ubuntu' }} run: | sudo apt-get update - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl libssl-dev sudo update-ca-certificates + echo "SSL_CERT_DIR=/etc/ssl/certs" >> $GITHUB_ENV + echo "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt" >> $GITHUB_ENV # needed to download Foundry Local Core from Azure Artifacts - name: Setup .NET SDK for NuGet authentication From 8023c2dbf64ae666628e333768757a9665094602 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Fri, 30 Jan 2026 14:36:17 -0800 Subject: [PATCH 18/35] try --- .github/workflows/build-cs-steps.yml | 8 +++----- .github/workflows/build-js-steps.yml | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index f44a68c..c4caabb 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -38,11 +38,9 @@ jobs: - name: Fix OpenSSL and Certificates on Linux if: ${{ inputs.platform == 'ubuntu' }} run: | - sudo apt-get update - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl libssl-dev - sudo update-ca-certificates - echo "SSL_CERT_DIR=/etc/ssl/certs" >> $GITHUB_ENV - echo "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt" >> $GITHUB_ENV + # Fix for OpenSSL 3.0 on Ubuntu 22.04+: Lower security level to allow broader compatibility + # This resolves 'Decrypt failed with OpenSSL error - SSL_ERROR_SSL' by allowing legacy ciphers/renegotiation + sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf - name: Setup .NET 9 SDK uses: actions/setup-dotnet@v5 diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index bcf6dfd..993ce81 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -38,11 +38,9 @@ jobs: - name: Fix OpenSSL and Certificates on Linux if: ${{ inputs.platform == 'ubuntu' }} run: | - sudo apt-get update - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates openssl libssl-dev - sudo update-ca-certificates - echo "SSL_CERT_DIR=/etc/ssl/certs" >> $GITHUB_ENV - echo "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt" >> $GITHUB_ENV + # Fix for OpenSSL 3.0 on Ubuntu 22.04+: Lower security level to allow broader compatibility + # This resolves 'Decrypt failed with OpenSSL error - SSL_ERROR_SSL' by allowing legacy ciphers/renegotiation + sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf # needed to download Foundry Local Core from Azure Artifacts - name: Setup .NET SDK for NuGet authentication From 32e26eae99cbf4364c21f59735c39b04f412bfd4 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 13:29:44 -0800 Subject: [PATCH 19/35] try smthn --- .github/workflows/build-cs-steps.yml | 22 ++++++++++++++-------- .github/workflows/build-js-steps.yml | 22 ++++++++++++++-------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index c4caabb..26f546b 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -34,14 +34,6 @@ jobs: with: clean: true - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI caused by missing/misconfigured SSL roots when connecting to Azure. - - name: Fix OpenSSL and Certificates on Linux - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # Fix for OpenSSL 3.0 on Ubuntu 22.04+: Lower security level to allow broader compatibility - # This resolves 'Decrypt failed with OpenSSL error - SSL_ERROR_SSL' by allowing legacy ciphers/renegotiation - sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf - - name: Setup .NET 9 SDK uses: actions/setup-dotnet@v5 with: @@ -49,6 +41,20 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + - name: Configure Linux SSL and Certificates + if: ${{ inputs.platform == 'ubuntu' }} + run: | + # 1. OpenSSL 3 Compatibility (Fix SSL_ERROR_SSL) + sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf + + # 2. Generate and Trust .NET Dev Cert (imitating ca-certificate-import) + # Explicitly export as PEM so update-ca-certificates can consume it + dotnet dev-certs https --clean + dotnet dev-certs https -ep ./dotnet-dev-cert.crt --format Pem + sudo cp ./dotnet-dev-cert.crt /usr/local/share/ca-certificates/dotnet-dev-cert.crt + sudo update-ca-certificates + # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies run: | diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 993ce81..4d0e9f1 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -34,14 +34,6 @@ jobs: with: node-version: '20.x' - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI caused by missing/misconfigured SSL roots when connecting to Azure. - - name: Fix OpenSSL and Certificates on Linux - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # Fix for OpenSSL 3.0 on Ubuntu 22.04+: Lower security level to allow broader compatibility - # This resolves 'Decrypt failed with OpenSSL error - SSL_ERROR_SSL' by allowing legacy ciphers/renegotiation - sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf - # needed to download Foundry Local Core from Azure Artifacts - name: Setup .NET SDK for NuGet authentication uses: actions/setup-dotnet@v5 @@ -50,6 +42,20 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + - name: Configure Linux SSL and Certificates + if: ${{ inputs.platform == 'ubuntu' }} + run: | + # 1. OpenSSL 3 Compatibility (Fix SSL_ERROR_SSL) + sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf + + # 2. Generate and Trust .NET Dev Cert (imitating ca-certificate-import) + # Explicitly export as PEM so update-ca-certificates can consume it + dotnet dev-certs https --clean + dotnet dev-certs https -ep ./dotnet-dev-cert.crt --format Pem + sudo cp ./dotnet-dev-cert.crt /usr/local/share/ca-certificates/dotnet-dev-cert.crt + sudo update-ca-certificates + - name: Format version for JS shell: pwsh run: | From 3ceb20a1033ae8640f9690f008a02c1af13661b8 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 15:58:44 -0800 Subject: [PATCH 20/35] try no dotnet --- .github/workflows/build-js-steps.yml | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 4d0e9f1..1d89b1d 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -34,27 +34,27 @@ jobs: with: node-version: '20.x' - # needed to download Foundry Local Core from Azure Artifacts - - name: Setup .NET SDK for NuGet authentication - uses: actions/setup-dotnet@v5 - with: - dotnet-version: '9.0.x' - env: - NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} - - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - - name: Configure Linux SSL and Certificates - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # 1. OpenSSL 3 Compatibility (Fix SSL_ERROR_SSL) - sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf + # # needed to download Foundry Local Core from Azure Artifacts + # - name: Setup .NET SDK for NuGet authentication + # uses: actions/setup-dotnet@v5 + # with: + # dotnet-version: '9.0.x' + # env: + # NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} + + # # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + # - name: Configure Linux SSL and Certificates + # if: ${{ inputs.platform == 'ubuntu' }} + # run: | + # # 1. OpenSSL 3 Compatibility (Fix SSL_ERROR_SSL) + # sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf - # 2. Generate and Trust .NET Dev Cert (imitating ca-certificate-import) - # Explicitly export as PEM so update-ca-certificates can consume it - dotnet dev-certs https --clean - dotnet dev-certs https -ep ./dotnet-dev-cert.crt --format Pem - sudo cp ./dotnet-dev-cert.crt /usr/local/share/ca-certificates/dotnet-dev-cert.crt - sudo update-ca-certificates + # # 2. Generate and Trust .NET Dev Cert (imitating ca-certificate-import) + # # Explicitly export as PEM so update-ca-certificates can consume it + # dotnet dev-certs https --clean + # dotnet dev-certs https -ep ./dotnet-dev-cert.crt --format Pem + # sudo cp ./dotnet-dev-cert.crt /usr/local/share/ca-certificates/dotnet-dev-cert.crt + # sudo update-ca-certificates - name: Format version for JS shell: pwsh From 7a0b8024a9ba019f4848914b377e3ef8c3373693 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 16:01:38 -0800 Subject: [PATCH 21/35] dotnet 10 --- .github/workflows/build-js-steps.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 1d89b1d..2aeaa2f 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -34,13 +34,13 @@ jobs: with: node-version: '20.x' - # # needed to download Foundry Local Core from Azure Artifacts - # - name: Setup .NET SDK for NuGet authentication - # uses: actions/setup-dotnet@v5 - # with: - # dotnet-version: '9.0.x' - # env: - # NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} + # needed to download Foundry Local Core from Azure Artifacts + - name: Setup .NET SDK for NuGet authentication + uses: actions/setup-dotnet@v5 + with: + dotnet-version: '10.0.x' + env: + NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} # # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI # - name: Configure Linux SSL and Certificates From 1bbd99294a695d00adf7862c69521a57c8da0382 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 16:30:55 -0800 Subject: [PATCH 22/35] upgrade opensll --- .github/workflows/build-cs-steps.yml | 27 +++++++++++++++-------- .github/workflows/build-js-steps.yml | 33 ++++++++++++++++++---------- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 26f546b..ea0cb2c 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -42,18 +42,27 @@ jobs: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - - name: Configure Linux SSL and Certificates + - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} run: | - # 1. OpenSSL 3 Compatibility (Fix SSL_ERROR_SSL) - sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf + # 0. Upgrade OpenSSL to latest available + sudo apt-get update + sudo apt-get install -y openssl + openssl version + + # # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level + # # This is required for .NET <-> Azure interactions on newer Linux agents + + # # 1. Find openssl config + # OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf + # echo "Found OpenSSL config at: $OPENSSL_CONF" + + # # 2. Modify to allow legacy renegotiation and lower security level + # # This handles cases where SECLEVEL=2 prevents handshake + # sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" - # 2. Generate and Trust .NET Dev Cert (imitating ca-certificate-import) - # Explicitly export as PEM so update-ca-certificates can consume it - dotnet dev-certs https --clean - dotnet dev-certs https -ep ./dotnet-dev-cert.crt --format Pem - sudo cp ./dotnet-dev-cert.crt /usr/local/share/ca-certificates/dotnet-dev-cert.crt - sudo update-ca-certificates + # # Verify change + # grep "SECLEVEL" "$OPENSSL_CONF" || echo "SECLEVEL not found in config" # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 2aeaa2f..0bb4105 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -42,19 +42,28 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} - # # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - # - name: Configure Linux SSL and Certificates - # if: ${{ inputs.platform == 'ubuntu' }} - # run: | - # # 1. OpenSSL 3 Compatibility (Fix SSL_ERROR_SSL) - # sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + - name: Configure Linux SSL (Legacy Support) + if: ${{ inputs.platform == 'ubuntu' }} + run: | + # 0. Upgrade OpenSSL to latest available + sudo apt-get update + sudo apt-get install -y openssl + openssl version + + # # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level + # # This is required for .NET <-> Azure interactions on newer Linux agents + + # # 1. Find openssl config + # OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf + # echo "Found OpenSSL config at: $OPENSSL_CONF" + + # # 2. Modify to allow legacy renegotiation and lower security level + # # This handles cases where SECLEVEL=2 prevents handshake + # sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" - # # 2. Generate and Trust .NET Dev Cert (imitating ca-certificate-import) - # # Explicitly export as PEM so update-ca-certificates can consume it - # dotnet dev-certs https --clean - # dotnet dev-certs https -ep ./dotnet-dev-cert.crt --format Pem - # sudo cp ./dotnet-dev-cert.crt /usr/local/share/ca-certificates/dotnet-dev-cert.crt - # sudo update-ca-certificates + # # Verify change + # grep "SECLEVEL" "$OPENSSL_CONF" || echo "SECLEVEL not found in config" - name: Format version for JS shell: pwsh From c542f4027de69d5e75b7a6e3b849c67b58460387 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 16:36:36 -0800 Subject: [PATCH 23/35] sect --- .github/workflows/build-cs-steps.yml | 33 +++++++++++++++++++--------- .github/workflows/build-js-steps.yml | 33 +++++++++++++++++++--------- 2 files changed, 46 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index ea0cb2c..554cead 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -50,19 +50,32 @@ jobs: sudo apt-get install -y openssl openssl version - # # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level - # # This is required for .NET <-> Azure interactions on newer Linux agents + # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level + # This is required for .NET <-> Azure interactions on newer Linux agents - # # 1. Find openssl config - # OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf - # echo "Found OpenSSL config at: $OPENSSL_CONF" + # 1. Find openssl config + OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf + echo "Found OpenSSL config at: $OPENSSL_CONF" - # # 2. Modify to allow legacy renegotiation and lower security level - # # This handles cases where SECLEVEL=2 prevents handshake - # sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" + # 2. Enable Legacy Providers & Lower Security Level + # Note: The order of operations matters for sed insertions + + # Enable legacy section in [provider_sect] + # Finds 'default = default_sect' and appends 'legacy = legacy_sect' after it + sudo sed -i '/default = default_sect/a legacy = legacy_sect' "$OPENSSL_CONF" + + # Ensure [default_sect] has 'activate = 1' + sudo sed -i '/\[default_sect\]/a activate = 1' "$OPENSSL_CONF" + + # Append [legacy_sect] definition to end of file + echo -e "\n[legacy_sect]\nactivate = 1" | sudo tee -a "$OPENSSL_CONF" + + # Lower SECLEVEL to 1 (legacy renegotiation) + sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" - # # Verify change - # grep "SECLEVEL" "$OPENSSL_CONF" || echo "SECLEVEL not found in config" + # Verify providers are loaded + echo "Active Providers:" + openssl list -providers # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 0bb4105..9441a5f 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -51,19 +51,32 @@ jobs: sudo apt-get install -y openssl openssl version - # # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level - # # This is required for .NET <-> Azure interactions on newer Linux agents + # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level + # This is required for .NET <-> Azure interactions on newer Linux agents - # # 1. Find openssl config - # OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf - # echo "Found OpenSSL config at: $OPENSSL_CONF" + # 1. Find openssl config + OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf + echo "Found OpenSSL config at: $OPENSSL_CONF" - # # 2. Modify to allow legacy renegotiation and lower security level - # # This handles cases where SECLEVEL=2 prevents handshake - # sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" + # 2. Enable Legacy Providers & Lower Security Level + # Note: The order of operations matters for sed insertions + + # Enable legacy section in [provider_sect] + # Finds 'default = default_sect' and appends 'legacy = legacy_sect' after it + sudo sed -i '/default = default_sect/a legacy = legacy_sect' "$OPENSSL_CONF" + + # Ensure [default_sect] has 'activate = 1' + sudo sed -i '/\[default_sect\]/a activate = 1' "$OPENSSL_CONF" + + # Append [legacy_sect] definition to end of file + echo -e "\n[legacy_sect]\nactivate = 1" | sudo tee -a "$OPENSSL_CONF" + + # Lower SECLEVEL to 1 (legacy renegotiation) + sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" - # # Verify change - # grep "SECLEVEL" "$OPENSSL_CONF" || echo "SECLEVEL not found in config" + # Verify providers are loaded + echo "Active Providers:" + openssl list -providers - name: Format version for JS shell: pwsh From deaa0ec6e5a00c5657cdabd4923efece06c34f47 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:17:14 -0800 Subject: [PATCH 24/35] env var --- .github/workflows/build-cs-steps.yml | 35 +++------------------------- .github/workflows/build-js-steps.yml | 35 +++------------------------- 2 files changed, 6 insertions(+), 64 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 554cead..0edff90 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -44,38 +44,9 @@ jobs: # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} - run: | - # 0. Upgrade OpenSSL to latest available - sudo apt-get update - sudo apt-get install -y openssl - openssl version - - # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level - # This is required for .NET <-> Azure interactions on newer Linux agents - - # 1. Find openssl config - OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf - echo "Found OpenSSL config at: $OPENSSL_CONF" - - # 2. Enable Legacy Providers & Lower Security Level - # Note: The order of operations matters for sed insertions - - # Enable legacy section in [provider_sect] - # Finds 'default = default_sect' and appends 'legacy = legacy_sect' after it - sudo sed -i '/default = default_sect/a legacy = legacy_sect' "$OPENSSL_CONF" - - # Ensure [default_sect] has 'activate = 1' - sudo sed -i '/\[default_sect\]/a activate = 1' "$OPENSSL_CONF" - - # Append [legacy_sect] definition to end of file - echo -e "\n[legacy_sect]\nactivate = 1" | sudo tee -a "$OPENSSL_CONF" - - # Lower SECLEVEL to 1 (legacy renegotiation) - sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" - - # Verify providers are loaded - echo "Active Providers:" - openssl list -providers + run: | + # 3. Set environment variable to help Cryptography libraries (often used under the hood) + echo "CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1" >> $GITHUB_ENV # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 9441a5f..8d0c933 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -45,38 +45,9 @@ jobs: # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} - run: | - # 0. Upgrade OpenSSL to latest available - sudo apt-get update - sudo apt-get install -y openssl - openssl version - - # Fix for OpenSSL 3.0 on Ubuntu: Enable legacy renegotiation and lower security level - # This is required for .NET <-> Azure interactions on newer Linux agents - - # 1. Find openssl config - OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf - echo "Found OpenSSL config at: $OPENSSL_CONF" - - # 2. Enable Legacy Providers & Lower Security Level - # Note: The order of operations matters for sed insertions - - # Enable legacy section in [provider_sect] - # Finds 'default = default_sect' and appends 'legacy = legacy_sect' after it - sudo sed -i '/default = default_sect/a legacy = legacy_sect' "$OPENSSL_CONF" - - # Ensure [default_sect] has 'activate = 1' - sudo sed -i '/\[default_sect\]/a activate = 1' "$OPENSSL_CONF" - - # Append [legacy_sect] definition to end of file - echo -e "\n[legacy_sect]\nactivate = 1" | sudo tee -a "$OPENSSL_CONF" - - # Lower SECLEVEL to 1 (legacy renegotiation) - sudo sed -i 's/SECLEVEL=2/SECLEVEL=1/g' "$OPENSSL_CONF" - - # Verify providers are loaded - echo "Active Providers:" - openssl list -providers + run: | + # 3. Set environment variable to help Cryptography libraries (often used under the hood) + echo "CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1" >> $GITHUB_ENV - name: Format version for JS shell: pwsh From 74857ba56cf6cf536a27f97c9beebf898a38aea5 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:20:47 -0800 Subject: [PATCH 25/35] revert --- .github/workflows/build-js-steps.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 8d0c933..9d97f82 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -38,7 +38,7 @@ jobs: - name: Setup .NET SDK for NuGet authentication uses: actions/setup-dotnet@v5 with: - dotnet-version: '10.0.x' + dotnet-version: '9.0.x' env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} From eb3ec1d9ab5d02f8fcb4b4c56c1df517a21ae7de Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:28:08 -0800 Subject: [PATCH 26/35] php --- .github/workflows/build-cs-steps.yml | 4 ++-- .github/workflows/build-js-steps.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 0edff90..53e788f 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -45,8 +45,8 @@ jobs: - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} run: | - # 3. Set environment variable to help Cryptography libraries (often used under the hood) - echo "CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1" >> $GITHUB_ENV + # Check php version + php --version || echo "PHP not found" # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 9d97f82..2fdf93f 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -46,8 +46,8 @@ jobs: - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} run: | - # 3. Set environment variable to help Cryptography libraries (often used under the hood) - echo "CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1" >> $GITHUB_ENV + # Check php version + php --version || echo "PHP not found" - name: Format version for JS shell: pwsh From cc129170573f14706ea15d770bd2eb0f51b72974 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:32:47 -0800 Subject: [PATCH 27/35] upgrade php --- .github/workflows/build-cs-steps.yml | 7 +++++++ .github/workflows/build-js-steps.yml | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 53e788f..2569608 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -45,6 +45,13 @@ jobs: - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} run: | + # Upgrade PHP to latest (User requested >= 8.5) + sudo add-apt-repository ppa:ondrej/php -y + sudo apt-get update + + # Try installing 8.5, fall back to 8.4 if not available + sudo apt-get install -y php8.5 || echo "Latest PHP not found" + # Check php version php --version || echo "PHP not found" diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 2fdf93f..b573e45 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -46,6 +46,13 @@ jobs: - name: Configure Linux SSL (Legacy Support) if: ${{ inputs.platform == 'ubuntu' }} run: | + # Upgrade PHP to latest (User requested >= 8.5) + sudo add-apt-repository ppa:ondrej/php -y + sudo apt-get update + + # Try installing 8.5, fall back to 8.4 if not available + sudo apt-get install -y php8.5 || echo "Latest PHP not found" + # Check php version php --version || echo "PHP not found" From eee86f3bf7c1157ef9a9423b2d8d7408e639de6c Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:47:09 -0800 Subject: [PATCH 28/35] downgrade ubuntu --- .github/workflows/build-js-steps.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index b573e45..fa0c577 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -21,7 +21,7 @@ permissions: jobs: build: # https://github.com/actions/runner-images?tab=readme-ov-file#available-images - runs-on: ${{ inputs.platform }}-latest + runs-on: ${{ inputs.platform }}-22.04 steps: - name: Checkout repository From e866f376dedf00b35d3ae3710f7ebdce110807e6 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:53:23 -0800 Subject: [PATCH 29/35] 8 --- .github/workflows/build-js-steps.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index fa0c577..5b56523 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -38,7 +38,7 @@ jobs: - name: Setup .NET SDK for NuGet authentication uses: actions/setup-dotnet@v5 with: - dotnet-version: '9.0.x' + dotnet-version: '8.0.x' env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} From cff3defecbaf73342f2fe0e689367b3052fbd5f0 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 17:53:40 -0800 Subject: [PATCH 30/35] net8 --- .github/workflows/build-js-steps.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 5b56523..d6b6a88 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -42,19 +42,19 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - - name: Configure Linux SSL (Legacy Support) - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # Upgrade PHP to latest (User requested >= 8.5) - sudo add-apt-repository ppa:ondrej/php -y - sudo apt-get update + # # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + # - name: Configure Linux SSL (Legacy Support) + # if: ${{ inputs.platform == 'ubuntu' }} + # run: | + # # Upgrade PHP to latest (User requested >= 8.5) + # sudo add-apt-repository ppa:ondrej/php -y + # sudo apt-get update - # Try installing 8.5, fall back to 8.4 if not available - sudo apt-get install -y php8.5 || echo "Latest PHP not found" + # # Try installing 8.5, fall back to 8.4 if not available + # sudo apt-get install -y php8.5 || echo "Latest PHP not found" - # Check php version - php --version || echo "PHP not found" + # # Check php version + # php --version || echo "PHP not found" - name: Format version for JS shell: pwsh From c67de98d76eaf4a92e78123abcbcc8a35fed6f53 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 18:24:00 -0800 Subject: [PATCH 31/35] rev --- .github/workflows/build-cs-steps.yml | 14 -------------- .github/workflows/build-js-steps.yml | 20 +++----------------- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 2569608..45cf993 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -41,20 +41,6 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - - name: Configure Linux SSL (Legacy Support) - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # Upgrade PHP to latest (User requested >= 8.5) - sudo add-apt-repository ppa:ondrej/php -y - sudo apt-get update - - # Try installing 8.5, fall back to 8.4 if not available - sudo apt-get install -y php8.5 || echo "Latest PHP not found" - - # Check php version - php --version || echo "PHP not found" - # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies run: | diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index d6b6a88..e90fb34 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -21,7 +21,7 @@ permissions: jobs: build: # https://github.com/actions/runner-images?tab=readme-ov-file#available-images - runs-on: ${{ inputs.platform }}-22.04 + runs-on: ${{ inputs.platform }}-latest steps: - name: Checkout repository @@ -38,24 +38,10 @@ jobs: - name: Setup .NET SDK for NuGet authentication uses: actions/setup-dotnet@v5 with: - dotnet-version: '8.0.x' + dotnet-version: '9.0.x' env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} - # # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - # - name: Configure Linux SSL (Legacy Support) - # if: ${{ inputs.platform == 'ubuntu' }} - # run: | - # # Upgrade PHP to latest (User requested >= 8.5) - # sudo add-apt-repository ppa:ondrej/php -y - # sudo apt-get update - - # # Try installing 8.5, fall back to 8.4 if not available - # sudo apt-get install -y php8.5 || echo "Latest PHP not found" - - # # Check php version - # php --version || echo "PHP not found" - - name: Format version for JS shell: pwsh run: | @@ -146,4 +132,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: js-sdk-${{ inputs.platform }} - path: sdk_v2/js/*.tgz + path: sdk_v2/js/*.tgz \ No newline at end of file From e694c656cfb9c9c39697f60418d87fb857e39b19 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 18:24:30 -0800 Subject: [PATCH 32/35] fmt --- .github/workflows/build-js-steps.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index e90fb34..673a061 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -132,4 +132,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: js-sdk-${{ inputs.platform }} - path: sdk_v2/js/*.tgz \ No newline at end of file + path: sdk_v2/js/*.tgz From cecb84a1016fc4f14e9671f1dcd9a88ef2ad4c85 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 18:24:53 -0800 Subject: [PATCH 33/35] fmt fmt --- .github/workflows/foundry-local-sdk-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/foundry-local-sdk-build.yml b/.github/workflows/foundry-local-sdk-build.yml index f034e09..3aee9fe 100644 --- a/.github/workflows/foundry-local-sdk-build.yml +++ b/.github/workflows/foundry-local-sdk-build.yml @@ -54,4 +54,4 @@ jobs: with: version: '0.9.0.${{ github.run_number }}' platform: 'ubuntu' - secrets: inherit \ No newline at end of file + secrets: inherit From a1377b7a6b53a23ee498c4e53fbb76aaea4b30c0 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 18:36:15 -0800 Subject: [PATCH 34/35] downgrade tls --- .github/workflows/build-cs-steps.yml | 23 +++++++++++++++++------ .github/workflows/build-js-steps.yml | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index 45cf993..c48ced5 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -34,12 +34,23 @@ jobs: with: clean: true - - name: Setup .NET 9 SDK - uses: actions/setup-dotnet@v5 - with: - dotnet-version: '9.0.x' - env: - NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + - name: Configure Linux SSL (Lower TLS Version) + if: ${{ inputs.platform == 'ubuntu' }} + run: | + # 1. Diagnostic: Check TLS negotiation + echo "Testing TLS to ai.azure.com..." + echo "Q" | openssl s_client -connect ai.azure.com:443 -brief || echo "OpenSSL connection failed" + + # 2. Fix: Lower MinProtocol to TLSv1.0 + OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf + echo "Modifying MinProtocol in $OPENSSL_CONF" + + # Replace MinProtocol = TLSv1.2 (or similar) with TLSv1.0 + sudo sed -i 's/MinProtocol = TLSv1\.[0-9]/MinProtocol = TLSv1.0/g' "$OPENSSL_CONF" + + # Log the change + grep "MinProtocol" "$OPENSSL_CONF" || echo "MinProtocol setting not found in config" # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 673a061..6ad0a41 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -42,6 +42,24 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} + # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI + - name: Configure Linux SSL (Lower TLS Version) + if: ${{ inputs.platform == 'ubuntu' }} + run: | + # 1. Diagnostic: Check TLS negotiation + echo "Testing TLS to ai.azure.com..." + echo "Q" | openssl s_client -connect ai.azure.com:443 -brief || echo "OpenSSL connection failed" + + # 2. Fix: Lower MinProtocol to TLSv1.0 + OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf + echo "Modifying MinProtocol in $OPENSSL_CONF" + + # Replace MinProtocol = TLSv1.2 (or similar) with TLSv1.0 + sudo sed -i 's/MinProtocol = TLSv1\.[0-9]/MinProtocol = TLSv1.0/g' "$OPENSSL_CONF" + + # Log the change + grep "MinProtocol" "$OPENSSL_CONF" || echo "MinProtocol setting not found in config" + - name: Format version for JS shell: pwsh run: | From 87ee023ee6ca5a37c3cdd554a399d5592adc63b2 Mon Sep 17 00:00:00 2001 From: Prathik Rao Date: Mon, 2 Feb 2026 18:38:14 -0800 Subject: [PATCH 35/35] Revert "downgrade tls" This reverts commit a1377b7a6b53a23ee498c4e53fbb76aaea4b30c0. --- .github/workflows/build-cs-steps.yml | 23 ++++++----------------- .github/workflows/build-js-steps.yml | 18 ------------------ 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/.github/workflows/build-cs-steps.yml b/.github/workflows/build-cs-steps.yml index c48ced5..45cf993 100644 --- a/.github/workflows/build-cs-steps.yml +++ b/.github/workflows/build-cs-steps.yml @@ -34,23 +34,12 @@ jobs: with: clean: true - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - - name: Configure Linux SSL (Lower TLS Version) - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # 1. Diagnostic: Check TLS negotiation - echo "Testing TLS to ai.azure.com..." - echo "Q" | openssl s_client -connect ai.azure.com:443 -brief || echo "OpenSSL connection failed" - - # 2. Fix: Lower MinProtocol to TLSv1.0 - OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf - echo "Modifying MinProtocol in $OPENSSL_CONF" - - # Replace MinProtocol = TLSv1.2 (or similar) with TLSv1.0 - sudo sed -i 's/MinProtocol = TLSv1\.[0-9]/MinProtocol = TLSv1.0/g' "$OPENSSL_CONF" - - # Log the change - grep "MinProtocol" "$OPENSSL_CONF" || echo "MinProtocol setting not found in config" + - name: Setup .NET 9 SDK + uses: actions/setup-dotnet@v5 + with: + dotnet-version: '9.0.x' + env: + NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} # /p:FoundryLocalCoreVersion="*-*" to always use nightly version of Foundry Local Core - name: Restore dependencies diff --git a/.github/workflows/build-js-steps.yml b/.github/workflows/build-js-steps.yml index 6ad0a41..673a061 100644 --- a/.github/workflows/build-js-steps.yml +++ b/.github/workflows/build-js-steps.yml @@ -42,24 +42,6 @@ jobs: env: NUGET_AUTH_TOKEN: ${{ secrets.AZURE_DEVOPS_PAT }} - # Fixes 'System.Security.Cryptography.CryptographicException' on Linux CI - - name: Configure Linux SSL (Lower TLS Version) - if: ${{ inputs.platform == 'ubuntu' }} - run: | - # 1. Diagnostic: Check TLS negotiation - echo "Testing TLS to ai.azure.com..." - echo "Q" | openssl s_client -connect ai.azure.com:443 -brief || echo "OpenSSL connection failed" - - # 2. Fix: Lower MinProtocol to TLSv1.0 - OPENSSL_CONF=$(openssl version -d | cut -d '"' -f 2)/openssl.cnf - echo "Modifying MinProtocol in $OPENSSL_CONF" - - # Replace MinProtocol = TLSv1.2 (or similar) with TLSv1.0 - sudo sed -i 's/MinProtocol = TLSv1\.[0-9]/MinProtocol = TLSv1.0/g' "$OPENSSL_CONF" - - # Log the change - grep "MinProtocol" "$OPENSSL_CONF" || echo "MinProtocol setting not found in config" - - name: Format version for JS shell: pwsh run: |