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
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-arm, macos-intel, macos-arm, windows-latest]
os: [ubuntu-latest, ubuntu-arm, macos-intel, macos-arm, windows-latest, windows-arm]
include:
- os: windows-latest
checkTarget: true
Expand All @@ -29,6 +29,8 @@ jobs:
runsOn: macos-15-intel
- os: macos-arm
runsOn: macos-14
- os: windows-arm
runsOn: windows-11-arm
runs-on: ${{ matrix.runsOn || matrix.os }}
steps:
- name: Checkout repository
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-arm, alpine-latest, macos-intel, macos-arm, windows-latest]
os: [ubuntu-latest, ubuntu-arm, alpine-latest, macos-intel, macos-arm, windows-latest, windows-arm]
include:
- os: ubuntu-latest
out-file: libtemporal_sdk_core_c_bridge.so
Expand Down Expand Up @@ -44,6 +44,10 @@ jobs:
- os: windows-latest
out-file: temporal_sdk_core_c_bridge.dll
out-prefix: win-x64
- os: windows-arm
out-file: temporal_sdk_core_c_bridge.dll
out-prefix: win-arm64
runsOn: windows-11-arm
runs-on: ${{ matrix.runsOn || matrix.os }}
steps:
- name: Checkout repository
Expand Down Expand Up @@ -153,7 +157,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-arm, alpine-latest, macos-intel, macos-arm, windows-latest]
os: [ubuntu-latest, ubuntu-arm, alpine-latest, macos-intel, macos-arm, windows-latest, windows-arm]
include:
- os: ubuntu-arm
runsOn: ubuntu-24.04-arm64-2-core
Expand All @@ -164,6 +168,8 @@ jobs:
runsOn: macos-13
- os: macos-arm
runsOn: macos-14
- os: windows-arm
runsOn: windows-11-arm
runs-on: ${{ matrix.runsOn || matrix.os }}
container: ${{ matrix.container }}
steps:
Expand Down Expand Up @@ -191,22 +197,22 @@ jobs:
run: apk add dotnet6-sdk

- name: Run smoke test (non-Windows)
if: ${{ matrix.os != 'windows-latest' }}
if: ${{ matrix.os != 'windows-latest' && matrix.os != 'windows-arm' }}
run: |
dotnet add tests/Temporalio.SmokeTest package Temporalio -s "$GITHUB_WORKSPACE/nuget-package/Temporalio/bin/Release;https://api.nuget.org/v3/index.json" --prerelease
dotnet run --project tests/Temporalio.SmokeTest

- name: Run smoke test (Windows)
if: ${{ matrix.os == 'windows-latest' }}
if: ${{ matrix.os == 'windows-latest' || matrix.os == 'windows-arm' }}
run: |
dotnet add tests/Temporalio.SmokeTest package Temporalio -s "$env:GITHUB_WORKSPACE/nuget-package/Temporalio/bin/Release;https://api.nuget.org/v3/index.json" --prerelease
dotnet run --project tests/Temporalio.SmokeTest

- name: Setup msbuild (Windows only)
- name: Setup msbuild (Windows x64 only)
if: ${{ matrix.os == 'windows-latest' }}
uses: microsoft/setup-msbuild@v2

- name: Run .NET framework smoke test (Windows only)
- name: Run .NET framework smoke test (Windows x64 only)
if: ${{ matrix.os == 'windows-latest' }}
run: |
dotnet add tests/Temporalio.SmokeTestDotNetFramework package Temporalio -s "$env:GITHUB_WORKSPACE/nuget-package/Temporalio/bin/Release;https://api.nuget.org/v3/index.json" --prerelease
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1203,9 +1203,9 @@ This SDK requires a built-in unmanaged, native shared library built in Rust. It
on a common platform. If you are using .NET framework, you may have to explicitly set the platform to `x64` or `arm64`
because `AnyCPU` will not choose the proper library.

Currently we only support [RIDs](https://learn.microsoft.com/en-us/dotnet/core/rid-catalog) `linux-arm64`,
`linux-x64`, `linux-musl-x64`, `osx-arm64`, `osx-x64`, and `win-x64`. Any other platforms needed (e.g. `linux-musl-x64`
on Alpine) will require a custom build.
Currently we only support [RIDs](https://learn.microsoft.com/en-us/dotnet/core/rid-catalog)
`linux-arm64`, `linux-x64`, `linux-musl-x64`, `osx-arm64`, `osx-x64`, `win-arm64`, and `win-x64`.
Any other platforms needed will require a custom build.

The native shared library on Windows does require a Visual C++ runtime. Some containers, such as Windows Nano Server, do
not include this runtime. If not available, users may have to manually copy this runtime (usually just
Expand Down
3 changes: 3 additions & 0 deletions src/Temporalio/Temporalio.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@
<Content Include="$(BridgeLibraryRoot)/win-x64-bridge/temporal_sdk_core_c_bridge.dll">
<PackagePath>runtimes/win-x64/native/temporal_sdk_core_c_bridge.dll</PackagePath>
</Content>
<Content Include="$(BridgeLibraryRoot)/win-arm64-bridge/temporal_sdk_core_c_bridge.dll">
<PackagePath>runtimes/win-arm64/native/temporal_sdk_core_c_bridge.dll</PackagePath>
</Content>
</ItemGroup>
</Target>
</Project>
Loading