Skip to content

Commit b61a935

Browse files
authored
[cartservice] Update to .NET8 (open-telemetry#1272)
* [cartservice] Update to .NET8 * Do not install QEMU for .NET * Use BUILDPLATFORM/TARGETARCH
1 parent 59e33e5 commit b61a935

File tree

5 files changed

+35
-12
lines changed

5 files changed

+35
-12
lines changed

.github/workflows/build-images.yml

+20
Original file line numberDiff line numberDiff line change
@@ -38,64 +38,83 @@ jobs:
3838
- file: ./src/adservice/Dockerfile
3939
tag_suffix: adservice
4040
context: ./
41+
setup-qemu: true
4142
- file: ./src/cartservice/src/Dockerfile
4243
tag_suffix: cartservice
4344
context: ./
45+
setup-qemu: false
4446
- file: ./src/checkoutservice/Dockerfile
4547
tag_suffix: checkoutservice
4648
context: ./
49+
setup-qemu: true
4750
- file: ./src/currencyservice/Dockerfile
4851
tag_suffix: currencyservice
4952
context: ./src/currencyservice
53+
setup-qemu: true
5054
- file: ./src/emailservice/Dockerfile
5155
tag_suffix: emailservice
5256
context: ./src/emailservice
57+
setup-qemu: true
5358
# NOTE:
5459
# https://github.com/open-telemetry/opentelemetry-demo/issues/956
5560
# Until dedicated ARM runners are available for GHA we cannot upgrade
5661
# OTP/Elixir versions. Please do not change the OTP/Elixir versions.
5762
- file: ./src/featureflagservice/Dockerfile
5863
tag_suffix: featureflagservice
5964
context: ./
65+
setup-qemu: true
6066
- file: ./src/frontend/Dockerfile
6167
tag_suffix: frontend
6268
context: ./
69+
setup-qemu: true
6370
- file: ./src/frontendproxy/Dockerfile
6471
tag_suffix: frontendproxy
6572
context: ./
73+
setup-qemu: true
6674
- file: ./src/loadgenerator/Dockerfile
6775
tag_suffix: loadgenerator
6876
context: ./
77+
setup-qemu: true
6978
- file: ./src/paymentservice/Dockerfile
7079
tag_suffix: paymentservice
7180
context: ./
81+
setup-qemu: true
7282
- file: ./src/productcatalogservice/Dockerfile
7383
tag_suffix: productcatalogservice
7484
context: ./
85+
setup-qemu: true
7586
- file: ./src/quoteservice/Dockerfile
7687
tag_suffix: quoteservice
7788
context: ./
89+
setup-qemu: true
7890
- file: ./src/shippingservice/Dockerfile
7991
tag_suffix: shippingservice
8092
context: ./
93+
setup-qemu: true
8194
- file: ./src/recommendationservice/Dockerfile
8295
tag_suffix: recommendationservice
8396
context: ./
97+
setup-qemu: true
8498
- file: ./src/kafka/Dockerfile
8599
tag_suffix: kafka
86100
context: ./
101+
setup-qemu: true
87102
- file: ./src/accountingservice/Dockerfile
88103
tag_suffix: accountingservice
89104
context: ./
105+
setup-qemu: true
90106
- file: ./src/frauddetectionservice/Dockerfile
91107
tag_suffix: frauddetectionservice
92108
context: ./
109+
setup-qemu: true
93110
- file: ./src/frontend/Dockerfile.cypress
94111
tag_suffix: frontend-tests
95112
context: ./
113+
setup-qemu: true
96114
- file: ./test/Dockerfile
97115
tag_suffix: integrationTests
98116
context: ./
117+
setup-qemu: true
99118

100119
steps:
101120
- uses: actions/checkout@v4
@@ -131,6 +150,7 @@ jobs:
131150
password: ${{ secrets.DOCKER_PASSWORD }}
132151
if: ${{ inputs.push }}
133152
- name: Set up QEMU
153+
if: ${{ matrix.file_tag.setup-qemu }}
134154
uses: docker/setup-qemu-action@v3
135155
with:
136156
image: tonistiigi/binfmt:master

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ release.
1313
([#1239](https://github.com/open-telemetry/opentelemetry-demo/pull/1239))
1414
* [cartservice] Add .NET memory, CPU, and thread metrics
1515
([#1265](https://github.com/open-telemetry/opentelemetry-demo/pull/1265))
16+
* [cartservice] update .NET to .NET 8.0
17+
([#1272](https://github.com/open-telemetry/opentelemetry-demo/pull/1272))
1618
* enable browser traffic in loadgenerator using playwright
1719
([#1266](https://github.com/open-telemetry/opentelemetry-demo/pull/1266))
1820
* update loadgenerator dependencies and the base image

src/cartservice/src/Dockerfile

+5-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
# limitations under the License.
1616

1717
# https://mcr.microsoft.com/v2/dotnet/sdk/tags/list
18-
FROM mcr.microsoft.com/dotnet/sdk:7.0.403 AS builder
18+
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0.100-1 AS builder
19+
ARG TARGETARCH
1920

2021
WORKDIR /usr/src/app/
2122

@@ -24,18 +25,18 @@ COPY ./pb/ ./src/protos/
2425

2526
RUN \
2627
RUNTIME_IDENTIIFER=linux-musl-x64; \
27-
if [ "$(uname -m)" = "aarch64" ]; then RUNTIME_IDENTIIFER=linux-musl-arm64; fi; \
28+
if [ "${TARGETARCH}" = "arm64" ]; then RUNTIME_IDENTIIFER=linux-musl-arm64; fi; \
2829
dotnet restore ./src/cartservice.csproj -v d -r $RUNTIME_IDENTIIFER
2930

3031
RUN \
3132
RUNTIME_IDENTIIFER=linux-musl-x64; \
32-
if [ "$(uname -m)" = "aarch64" ]; then RUNTIME_IDENTIIFER=linux-musl-arm64; fi; \
33+
if [ "${TARGETARCH}" = "arm64" ]; then RUNTIME_IDENTIIFER=linux-musl-arm64; fi; \
3334
dotnet publish ./src/cartservice.csproj -v d -p:PublishSingleFile=true -r $RUNTIME_IDENTIIFER --self-contained true -p:PublishTrimmed=False -p:TrimMode=Link -c Release -o /cartservice --no-restore
3435

3536
# -----------------------------------------------------------------------------
3637

3738
# https://mcr.microsoft.com/v2/dotnet/runtime-deps/tags/list
38-
FROM mcr.microsoft.com/dotnet/runtime-deps:7.0.4-alpine3.16
39+
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0.0-alpine3.18
3940

4041
WORKDIR /usr/src/app/
4142
COPY --from=builder /cartservice/ ./

src/cartservice/src/cartservice.csproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net8.0</TargetFramework>
55
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
66
<StaticWebAssetsEnabled>false</StaticWebAssetsEnabled>
77
</PropertyGroup>
@@ -11,9 +11,9 @@
1111
<PackageReference Include="Grpc.AspNetCore.HealthChecks" Version="2.59.0" />
1212
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.6.0" />
1313
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.6.0" />
14-
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.5.1-beta.1" />
15-
<PackageReference Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.5.1-beta.1" />
16-
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.5.1-beta.1" />
14+
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.6.0-beta.3" />
15+
<PackageReference Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.6.0-beta.3" />
16+
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.6.0-beta.3" />
1717
<PackageReference Include="OpenTelemetry.Instrumentation.Process" Version="0.5.0-beta.3" />
1818
<PackageReference Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="1.0.0-rc9.12" />
1919
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.5.1" />

src/cartservice/tests/cartservice.tests.csproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net8.0</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>
88
<PackageReference Include="Grpc.Net.Client" Version="2.59.0" />
9-
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="7.0.13" />
9+
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="8.0.0" />
1010
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
11-
<PackageReference Include="xunit" Version="2.6.1" />
12-
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3">
11+
<PackageReference Include="xunit" Version="2.6.2" />
12+
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>

0 commit comments

Comments
 (0)