We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
My github action workflow file is as follows;
name: Build and publish on: workflow_dispatch: push: branches: [ "main" ] jobs: build-and-push: runs-on: ubuntu-latest env: continue: 'false' strategy: matrix: service: - name: 'pointsoftware/gateway-svc' path: 'src/GatewayMicroservice/GatewayMicroservice' - name: 'pointsoftware/identity-svc' path: 'src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice' - name: 'pointsoftware/productlifecycle-svc' path: 'src/ProductLifeCycleMicroservice/ProductLifeCycle.WebAPI' - name: 'pointsoftware/businessPartner-svc' path: 'src/BusinessPartnerMicroservice/BusinessPartners.WebAPI' - name: 'pointsoftware/barcode-svc' path: 'src/BarcodeMicroservice/Barcode.WebAPI' - name: 'pointsoftware/system-svc' path: 'src/SystemMicroservice/System.WebAPI' - name: 'pointsoftware/stockmanagement-svc' path: 'src/StockManagementMicroservice/StockManagement.WebAPI' - name: 'pointsoftware/web-app' path: 'frontend/pointclient' steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 2 - name: Check for changes in service path run: | if git diff --quiet HEAD^ HEAD -- ${{matrix.service.path}}; then echo "No changes in ${{matrix.service.path}}. Skipping build" echo "continue=false" >> $GITHUB_ENV else echo "Changes detected in ${{matrix.service.path}}. Proceeding with build" echo "continue=true" >> $GITHUB_ENV fi - name: Set up Docker buildx if: env.continue == 'true' uses: docker/setup-buildx-action@v2 - name: Login to Docker if: env.continue == 'true' uses: docker/login-action@v3 with: username: ${{secrets.DOCKER_USERNAME}} password: ${{secrets.DOCKER_TOKEN}} - name: Build and push docker image if: env.continue == 'true' uses: docker/build-push-action@v6 with: context: . file: ${{matrix.service.path}}/Dockerfile push: true tags: ${{matrix.service.name}}:latest platforms: linux/amd64,linux/arm64
Same Dockerfile;
# Build stage FROM mcr.microsoft.com/dotnet/sdk:8.0 as build WORKDIR /app EXPOSE 80 # Copy NuGet configuration COPY NuGet.config /root/.nuget/NuGet/NuGet.Config COPY src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice.csproj src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice.csproj COPY src/IdentityMicroservice/IdentityMicroservice/Application/Application.csproj src/IdentityMicroservice/IdentityMicroservice/Application/Application.csproj COPY src/IdentityMicroservice/IdentityMicroservice/Domain/Domain.csproj src/IdentityMicroservice/IdentityMicroservice/Domain/Domain.csproj COPY src/IdentityMicroservice/IdentityMicroservice/Infrastructure/Infrastructure.csproj src/IdentityMicroservice/IdentityMicroservice/Infrastructure/Infrastructure.csproj COPY src/IdentityMicroservice/IdentityMicroservice/Persistence/Persistence.csproj src/IdentityMicroservice/IdentityMicroservice/Persistence/Persistence.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCycle.Application/ProductLifeCycle.Application.csproj src/ProductLifeCycleMicroservice/ProductLifeCycle.Application/ProductLifeCycle.Application.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCycle.Domain/ProductLifeCycle.Domain.csproj src/ProductLifeCycleMicroservice/ProductLifeCycle.Domain/ProductLifeCycle.Domain.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCycle.Infrastructure/ProductLifeCycle.Infrastructure.csproj src/ProductLifeCycleMicroservice/ProductLifeCycle.Infrastructure/ProductLifeCycle.Infrastructure.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCycle.Persistance/ProductLifeCycle.Persistence.csproj src/ProductLifeCycleMicroservice/ProductLifeCycle.Persistance/ProductLifeCycle.Persistence.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCycle.UnitTests/ProductLifeCycle.UnitTests.csproj src/ProductLifeCycleMicroservice/ProductLifeCycle.UnitTests/ProductLifeCycle.UnitTests.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCycle.WebAPI/ProductLifeCycle.WebAPI.csproj src/ProductLifeCycleMicroservice/ProductLifeCycle.WebAPI/ProductLifeCycle.WebAPI.csproj COPY src/ProductLifeCycleMicroservice/ProductLifeCylce.GrpcService/ProductLifeCylce.GrpcService.csproj src/ProductLifeCycleMicroservice/ProductLifeCylce.GrpcService/ProductLifeCylce.GrpcService.csproj COPY src/GatewayMicroservice/GatewayMicroservice/GatewayMicroservice/GatewayMicroservice.csproj src/GatewayMicroservice/GatewayMicroservice/GatewayMicroservice/GatewayMicroservice.csproj COPY src/BarcodeMicroservice/Barcode.WebAPI/Barcode.WebAPI.csproj src/BarcodeMicroservice/Barcode.WebAPI/Barcode.WebAPI.csproj # Copy the main application project and publish COPY src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice COPY src/IdentityMicroservice/IdentityMicroservice/Application src/IdentityMicroservice/IdentityMicroservice/Application COPY src/IdentityMicroservice/IdentityMicroservice/Domain src/IdentityMicroservice/IdentityMicroservice/Domain COPY src/IdentityMicroservice/IdentityMicroservice/Infrastructure src/IdentityMicroservice/IdentityMicroservice/Infrastructure COPY src/IdentityMicroservice/IdentityMicroservice/Persistence src/IdentityMicroservice/IdentityMicroservice/Persistence WORKDIR /app/src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice RUN dotnet publish -c Release -o /app/src/out # Runtime stage FROM mcr.microsoft.com/dotnet/aspnet:8.0 WORKDIR /apps # Copy published artifacts from build stage COPY --from=build /app/src/out . # Set the entry point ENTRYPOINT [ "dotnet", "IdentityMicroservice.dll" ]
I encounter an error like the one below, although AMD does it, I get an error in Arm.
#59 [linux/arm64 build 24/24] RUN dotnet publish -c Release -o /app/src/out #59 81.36 Segmentation fault (core dumped) #59 ERROR: process "/dev/.buildkit_qemu_emulator /bin/sh -c dotnet publish -c Release -o /app/src/out" did not complete successfully: exit code: 139 #58 [linux/amd64 build 24/24] RUN dotnet publish -c Release -o /app/src/out #58 CANCELED ------ > [linux/arm64 build 24/24] RUN dotnet publish -c Release -o /app/src/out: 22.85 Determining projects to restore... 81.36 Segmentation fault (core dumped) ------ 1 warning found (use docker --debug to expand): - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 2) Dockerfile:34 -------------------- 32 | COPY src/IdentityMicroservice/IdentityMicroservice/Persistence src/IdentityMicroservice/IdentityMicroservice/Persistence 33 | WORKDIR /app/src/IdentityMicroservice/IdentityMicroservice/IdentityMicroservice 34 | >>> RUN dotnet publish -c Release -o /app/src/out 35 | 36 | # Runtime stage -------------------- ERROR: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c dotnet publish -c Release -o /app/src/out" did not complete successfully: exit code: 139 Reference Check build summary support Error: buildx failed with: ERROR: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c dotnet publish -c Release -o /app/src/out" did not complete successfully: exit code: 139
The text was updated successfully, but these errors were encountered:
No branches or pull requests
My github action workflow file is as follows;
Same Dockerfile;
I encounter an error like the one below, although AMD does it, I get an error in Arm.
The text was updated successfully, but these errors were encountered: