@@ -38,43 +38,44 @@ jobs:
3838 out-prefix : win-x64
3939 runs-on : ${{ matrix.runsOn || matrix.os }}
4040 container : ${{ matrix.container }}
41+ env :
42+ # This is required to allow continuing usage of Node 16 for actions,
43+ # as Node 20 won't run on the docker image we use for linux builds
44+ # (Node 20 require glibc 2.28+, but container image has glibc 2.17).
45+ # https://github.blog/changelog/2024-05-17-updated-dates-for-actions-runner-using-node20-instead-of-node16-by-default/
46+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
4147 steps :
4248 - name : Checkout repository
43- uses : actions/checkout@v2
49+ # FIXME: v4+ requires Node 20
50+ uses : actions/checkout@v3
4451 with :
4552 submodules : recursive
4653
4754 - name : Install Rust
48- uses : actions-rs/ toolchain@v1
55+ uses : dtolnay/rust- toolchain@stable
4956 with :
5057 toolchain : stable
5158
5259 - name : Setup Rust cache
60+ # FIXME: v2.7.2+ requires Node 20
5361 # Fixed version due to https://github.com/Swatinem/rust-cache/issues/183#issuecomment-1893979126
54- uses :
Swatinem/[email protected] .0 62+ uses :
Swatinem/[email protected] .1 5563 with :
5664 workspaces : src/Temporalio/Bridge
5765 key : ${{ matrix.os }}
5866
59- - name : Install protoc (non-Linux)
60- if : ${{ matrix.os != 'ubuntu-latest' && matrix.os != 'ubuntu-arm' }}
61- uses : arduino/setup-protoc@v3
67+ - name : Install protoc
68+ # FIXME: v3+ requires Node 20
69+ uses : arduino/setup-protoc@v2
6270 with :
6371 version : " 23.x"
6472 repo-token : ${{ secrets.GITHUB_TOKEN }}
6573
66- - name : Install protoc (Linux)
67- if : ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-arm' }}
68- run : |
69- curl --location -o protobuf-compiler.zip ${{ matrix.protobuf-url }}
70- mkdir protobuf-compiler
71- unzip protobuf-compiler.zip -d protobuf-compiler
72- echo $(realpath .)/protobuf-compiler/bin >> $GITHUB_PATH
73-
7474 - name : Build
7575 run : cargo build --manifest-path src/Temporalio/Bridge/Cargo.toml --release
7676
7777 - name : Upload bridge library
78+ # FIXME: v4+ requires Node 20
7879 uses : actions/upload-artifact@v3
7980 with :
8081 name : ${{ matrix.out-prefix }}-bridge
@@ -86,12 +87,13 @@ jobs:
8687 runs-on : windows-latest
8788 steps :
8889 - name : Checkout repository
89- uses : actions/checkout@v2
90+ uses : actions/checkout@v4
9091 with :
9192 submodules : recursive
9293
9394 - name : Download bridge libraries
94- uses : actions/download-artifact@v3
95+ # Need v3 here to stay compatible with the compile-native-binaries job.
96+ uses : actions/download-artifact@v3-node20
9597 with :
9698 path : bridge-libraries
9799
@@ -102,7 +104,7 @@ jobs:
102104 run : dotnet pack -c Release /p:BridgeLibraryRoot=${{ github.workspace }}/bridge-libraries
103105
104106 - name : Upload NuGet artifact
105- uses : actions/upload-artifact@v3
107+ uses : actions/upload-artifact@v4
106108 with :
107109 name : nuget-package
108110 path : |
@@ -132,12 +134,12 @@ jobs:
132134 runs-on : ${{ matrix.runsOn || matrix.os }}
133135 steps :
134136 - name : Checkout repository
135- uses : actions/checkout@v2
137+ uses : actions/checkout@v4
136138 with :
137139 submodules : recursive
138140
139141 - name : Download NuGet artifact
140- uses : actions/download-artifact@v3
142+ uses : actions/download-artifact@v4
141143 with :
142144 name : nuget-package
143145 path : nuget-package
@@ -156,7 +158,7 @@ jobs:
156158
157159 - name : Setup msbuild (Windows only)
158160 if : ${{ matrix.os == 'windows-latest' }}
159- uses : microsoft/setup-msbuild@v1.1
161+ uses : microsoft/setup-msbuild@v2
160162
161163 - name : Run .NET framework smoke test (Windows only)
162164 if : ${{ matrix.os == 'windows-latest' }}
0 commit comments